1

将 Async 设置为 false 时,此代码处理得很好,但将 Aync 设置为 true 时,一旦调用 Ajax,就会抛出错误(带有“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');
});

谢谢你的帮助!

4

1 回答 1

0

我真的找到了答案。

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

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

谢谢你。

于 2012-06-26T16:29:53.570 回答