jquery的ajax,要求返回格式是json,在结果还没有返回时,刷新页面,就会进入error函数,请问有没有解决办法?

xxl 发布于 2015/02/26 10:49
阅读 1K+
收藏 0
jquery的ajax,要求返回格式是json,在结果还没有返回时,刷新页面,就会进入error函数,请问有没有解决办法?
加载中
1
无忌
无忌
$.ajax( { async : false});
0
卖切糕大叔
卖切糕大叔

jquery没法帮你监听网页刷新、关闭的事件,但是你可以把ajax失败的回调函数写在网页关闭事件监听器里。利用下面的方法:

window.onbeforeunload = function(){

// some code

}

0
雪梨苹果
雪梨苹果
没办法,所以就给个失败提示,说“系统繁忙中,请稍后再试...”
0
梦想岛
梦想岛
var ajaxGet = $.get("comet_server.php",{id:1},function(data){
	//一些操作
});

ajaxGet.abort();

可以先  abort再操作试试



0
xxl
xxl

不是get,是ajax。我们写了一个公有函数:

Tool.prototype.Ajax = function (extParam, succCallback, errorCallback) {
        var param = {
            type: 'POST',
            dataType: 'json',
            success: function (data) {
            。。。
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
            。。。
            }
        };
        $.extend(param, extParam);

        $.ajax(param);
    };

在一个ajax没有返回结果时,如果刷新或做了其它事情,ajax里收到的结果就不是json格式了,于是就会运行error里的代码。不知道大家有没有遇到这样的问题?

甘薯
甘薯
我有点糊涂, 进入刷新页面, 返回的应该是正常的response code, 怎么会导致ajax进入error...
0
闽科夫斯基
闽科夫斯基

引用来自“xxl”的评论

不是get,是ajax。我们写了一个公有函数:

Tool.prototype.Ajax = function (extParam, succCallback, errorCallback) {
        var param = {
            type: 'POST',
            dataType: 'json',
            success: function (data) {
            。。。
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
            。。。
            }
        };
        $.extend(param, extParam);

        $.ajax(param);
    };

在一个ajax没有返回结果时,如果刷新或做了其它事情,ajax里收到的结果就不是json格式了,于是就会运行error里的代码。不知道大家有没有遇到这样的问题?

Ajax默认是异步的,你不妨试试同步的方式
返回顶部
顶部