Ahm*_*uad 2 javascript ajax jquery
有人可以告诉我一个关于为我的$ .ajax请求设置超时的实际示例,并在第一个请求超时的情况下重做整个请求,我已经阅读了文档并且没有得到它.我将不胜感激任何帮助.
这是我的$ .ajax请求.
$.ajax({
url: '<?php bloginfo('template_directory'); ?>/ajax/product.php',
type: 'get',
data: {product_id : product_id},
beforeSend: function(){
$('#details').html('<div class="loading"></div>');
},
success: function(data){
$('.iosSlider').fadeOut('fast');
thisprod.addClass('current');
$('#details').css({opacity: 0}).html(data).stop().animate({left: 0, opacity: 1}, 800);
}
});
return false;
Run Code Online (Sandbox Code Playgroud)
在AJAX功能需要一个超时参数,你可以在错误的情况下,检查状态.
var call =function(){
$.ajax({
url: '<?php bloginfo('template_directory'); ?>/ajax/product.php',
type: 'get',
timeout: 400,
...
error: function(x, textStatus, m) {
if (textStatus=="timeout") {
call();
}
}
});
};
Run Code Online (Sandbox Code Playgroud)
你可能想要做一些更聪明的事情来避免永久性的电话......
从文档:
设置请求的超时(以毫秒为单位).这将覆盖使用$ .ajaxSetup()设置的任何全局超时.超时时间从$ .ajax调用点开始; 如果其他几个请求正在进行且浏览器没有可用的连接,则请求可能会在发送之前超时.在jQuery 1.4.x及更低版本中,如果请求超时,XMLHttpRequest对象将处于无效状态; 访问任何对象成员可能会抛出异常.仅在Firefox 3.0+中,超时无法取消脚本和JSONP请求; 即使脚本在超时期限后到达,脚本也会运行.
| 归档时间: |
|
| 查看次数: |
3386 次 |
| 最近记录: |