异步设置为True会引发错误,但仍会将数据发送到服务器端

时间:2012-06-21 18:59:49

标签: asp.net jquery asynchronous

当将Async设置为false时,此代码处理正常,但是当将Aync设置为true时,只要调用Ajax,它就会抛出错误(警告msg带有“fail”)但它仍然被处理(意思是数据被发送到服务器端,数据被保存!)。

因此,将Async设置为false或true可以完成作业,但将Async设置为true将转到Error并抛出错误。

我通过按钮上的onClick事件调用此Ajax。

$.ajax({
    type: "POST",
    async: true,
    cache: false,
    url: "ScriptWS.asmx/UpdateXml",
    data: "{'QuestionKey':'" + QuestionKey + "'}",
    contentType: "application/json; charset=utf-8",
    dataType: "html",
    success: function (data) {
        UpdateXml_CallBack(data);
    },
    error: function (msg) {
        alert('fail');
});

谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

我实际上找到了答案。

问题是我正在运行for循环来发送AJAX调用。因此,它同时发送AJAX调用,并且响应丢失,或被下一个AJAX调用中断。

我从这里使用AjaxQueue解决了这个问题 http://gnarf.net/2011/06/21/jquery-ajaxqueue/

谢谢。