abort() 触发 Chrome 中未定义错误

发布于 2024-10-27 20:29:29 字数 605 浏览 1 评论 0原文

我使用以下代码来限制竞争条件下的 get 请求:

        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 (未定义)

这似乎根本不会影响脚本- 一切都继续正常进行。我应该采取什么措施来纠正这个问题吗?或者这就是 chrome 报告中止的 ajax 请求的方式?

感谢您的帮助

I use the following code to throttle get requests in race conditions:

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

I've noticed that in Chrome that when the abort is called an error pops up in the javascript console:

GET undefined (undefined)

This does not seem to impact the script at all - everything continues to run just fine. Is there anything I should be doing to correct this? Or is this just the way chrome reports an aborted ajax request?

Thanks for your help

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

香草可樂 2024-11-03 20:29:29

您的想法可能是正确的,这就是 Chrome 报告中止请求的方式。 jQuery 调用 XMLHttpRequest 的 abort() 方法。关于如何从 W3C 实现此方法的建议可以在此处。

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

You're probably right in thinking it's the way Chrome reports an aborted request. jQuery calls the XMLHttpRequest's abort() method. The recommendation of how this method should be implemented from the W3C can be found here.

Step 6 of this process is "set the error flag to true", so although Chrome thinks there's an error to report it's undefined as the error message hasn't been set inside the request object.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文