.load()只能在第一次工作,但.ajax()每次都能正常工作

时间:2015-07-07 03:39:07

标签: javascript jquery html ajax jsp

问题是由于长途访问导致网络连接速度慢。 jQuery .load()函数似乎没有从第二次加载HTML页面,浏览器 取消 中止 请求每次约 500 ms 。使用.ajax()加载时的同一页面不会导致问题。为什么jQuery .load()第二次被浏览器反复中止?响应JSP页面确实包含多个.ajax()个请求。这是第二次导致问题吗?

3 个答案:

答案 0 :(得分:0)

您可以在致电ajaxSetup()之前使用load()来设置超时

$.ajaxSetup({
    timeout: 30000
});

请参阅:http://api.jquery.com/jQuery.ajaxSetup/

答案 1 :(得分:0)

请检查超时参数

Referance

Demo

$.ajax({
    url: "/test_ajax_timeout/",
    type: "GET",
    dataType: "json",
    timeout: 15,
    success: function(response) { alert(response); },
    error: function(x, t, m) {
        if(t==="timeout") {
            alert("got timeout");
        } else {
            alert(t);
        }
    }
});

如果您将超时更改为超出限制,您将看到错误。您可以设置错误回调,如下所示

$.ajax({}).error(function(){ // Code });

答案 2 :(得分:0)

根据@Chang的推荐,在调用.ajaxSetup()之前使用.load() 获得了解决方案

但是我想使用.ajax()调用一些所需的超时而不是使用.load(),因为建议不要使用.ajaxSetup(),因为它用于配置默认的ajax选项。 / p>

http://api.jquery.com/jQuery.ajaxSetup/