开发者问题收集

abort() 在 chrome 中触发未定义的错误

2011-03-30
1202

我使用以下代码在竞争条件下限制获取请求:

        if (currentAjaxRequest !== null) {
            currentAjaxRequest.abort();
        }   
        var query_string = getQuery();
        currentAjaxRequest = $.get(query_string, function(data, textStatus, xhr) {
            if (xhr.status) {  
                currentAjaxRequest = null;
                // do stuff
            }                       
        });

我注意到在 Chrome 中,当调用中止时,javascript 控制台中会弹出一个错误:

GET undefined (undefined)

这似乎根本不会影响脚本 - 一切都继续正常运行。我应该做些什么来纠正这个问题?或者这只是 Chrome 报告中止的 ajax 请求的方式?

感谢您的帮助

1个回答

您可能认为这是 Chrome 报告中止请求的方式。jQuery 调用 XMLHttpRequest 的 abort() 方法。有关如何实现此方法的 W3C 建议可在 此处 找到。

此过程的第 6 步是“将错误标志设置为 true”,因此尽管 Chrome 认为存在要报告的错误,但由于请求对象内未设置错误消息,因此该错误尚未定义。

greg84
2011-04-06