Jquery 在存在 scriptaculous 时加载页面后无限加载重定向
Jquery Load redirect infinite after that the page is loaded when scriptaculous is present
当我使用 jQuery load 加载页面时,如果正在加载的页面内部有 scriptaculous,那么该页面会在第一次加载后将我一遍又一遍地重定向到它自己。这是我用来加载页面的 jquery 代码:
jQuery( document ).ready(function( $ ) {
// Code that uses jQuery's $ can follow here.
///////////////////////////////////////////////////////////////////////////////
$(document).on('click', 'a[rel*=charger_tout]', function(e) {
e.preventDefault();
var myId_to_update_here = $(this).data('ajax');
var afficher_chargement = $(this).data('icon');
if(afficher_chargement=='Oui')
{
$('#'+myId_to_update_here).html('<img src="images/facebook_style_loader.gif" />');
}
//Fin de l'affichage du chargement si le data-icon='Oui'
$('#'+myId_to_update_here).load($(this).attr('href'), function(responseText, textStatus, XMLHttpRequest) {
if(textStatus == 'error') {
$('#'+myId_to_update_here).html('<p>Oupps.. There was an error making the AJAX request. Maybe your internet connection is slowing down.</p>');
}
});
return false;
});
///////////////////////////////////////////////////////////////////////////////
});
这里 html link 到必须加载的页面
<a href="brouillons.php?membre=<?php echo $membre; ?>" rel="charger_tout" data-ajax="id_du_milieu" data-icon="Oui">charger_tout</a>
第一次点击页面加载后如何停止无限加载?
解决方法是检测是否是Ajax请求或者脚本是否正常加载,如果是Ajax请求,则不显示scriptaculous,否则显示.
if(@$_SERVER['HTTP_X_REQUESTED_WITH']!='' && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{
//I do not display scriptaculous here
}
else
{
//I can add scriptaculous
}
当我使用 jQuery load 加载页面时,如果正在加载的页面内部有 scriptaculous,那么该页面会在第一次加载后将我一遍又一遍地重定向到它自己。这是我用来加载页面的 jquery 代码:
jQuery( document ).ready(function( $ ) {
// Code that uses jQuery's $ can follow here.
///////////////////////////////////////////////////////////////////////////////
$(document).on('click', 'a[rel*=charger_tout]', function(e) {
e.preventDefault();
var myId_to_update_here = $(this).data('ajax');
var afficher_chargement = $(this).data('icon');
if(afficher_chargement=='Oui')
{
$('#'+myId_to_update_here).html('<img src="images/facebook_style_loader.gif" />');
}
//Fin de l'affichage du chargement si le data-icon='Oui'
$('#'+myId_to_update_here).load($(this).attr('href'), function(responseText, textStatus, XMLHttpRequest) {
if(textStatus == 'error') {
$('#'+myId_to_update_here).html('<p>Oupps.. There was an error making the AJAX request. Maybe your internet connection is slowing down.</p>');
}
});
return false;
});
///////////////////////////////////////////////////////////////////////////////
});
这里 html link 到必须加载的页面
<a href="brouillons.php?membre=<?php echo $membre; ?>" rel="charger_tout" data-ajax="id_du_milieu" data-icon="Oui">charger_tout</a>
第一次点击页面加载后如何停止无限加载?
解决方法是检测是否是Ajax请求或者脚本是否正常加载,如果是Ajax请求,则不显示scriptaculous,否则显示.
if(@$_SERVER['HTTP_X_REQUESTED_WITH']!='' && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{
//I do not display scriptaculous here
}
else
{
//I can add scriptaculous
}