gpt4 book ai didi

asp.net - firefox,jQuery ajax 调用触发两次并且从不触发成功或错误函数

转载 作者:行者123 更新时间:2023-12-01 06:08:25 24 4
gpt4 key购买 nike

我正在使用 jQuery 1.4.2 客户端使用 .NET 框架进行开发。

在 Firefox 版本 3.6 中进行开发时,我在页面上进行的众多 ajax 调用中的一个经常会触发两次,第二次将成功返回,但不会触发 ajax 调用的成功处理程序,并且第一个永远不会返回任何事物。所以基本上数据都发送到服务器并且响应被发送下来,但响应没有任何反应。

这是我正在调用的电话的示例。任何 ajax 调用都会发生这种情况,因此没有任何特定情况导致了该问题:

$.ajax({
type:"POST",
contentType : "application/json; charset=utf-8",
data:"{}",
dataType:"json",
success:function(){
alert('success');
},
error:function(){
alert('error');
},
url:'/services.aspx/somemethod'
});

})

来自 firebug,这里是第一个调用的 header ,在 firebug 中显示为从未完全响应,这意味着我没有看到响应代码,并且 firebug 中的加载器 gif 永远不会消失。

注意:在 firebug 中,它通常显示响应 header ,但对于第一次调用,此空间为空白

Server             ASP.NET Development Server/9.0.0.0
X-AspNet-Version 2.0.50727
Content-Type application/json; charset=utf-8
Connection Close

请求 header

Host              mydomain.com
User-Agent Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3)
Gecko/20100401Firefox/3.6.3 ( .NET CLR 3.5.30729)
Accept application/json, text/javascript, */*
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive 115
Connection keep-alive
Content-Type application/json; charset=utf-8
X-Requested-With XMLHttpRequest
Referer http://mydomain.com/mypage.aspx

这是第二个请求的 header ,它似乎在 Firebug 中完成(即响应为 200):

响应 header

Server  ASP.NET Development Server/9.0.0.0
X-AspNet-Version 2.0.50727
Content-Type application/json; charset=utf-8
Connection Close

请求 header

Host        mydomain.com
User-Agent Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3)
Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive 115
Connection keep-alive
Content-Type application/json; charset=utf-8
Referer http://mydomain.com/mypage.aspx

总结我的问题,为什么发出两个请求,为什么它们都没有在 ajax 调用中触发成功或错误处理程序。

我看过这篇关于 Firefox 3.5+ 和预检请求的文章

https://developer.mozilla.org/En/HTTP_access_control#Preflighted_requests

文章中提到,如果“POST”是使用除“application/x-www-form-urlencoded、multipart/form-data 或 text/plain” 比请求已预检。如果是这种情况,我的所有通话都应该发生这种情况。

谢谢

最佳答案

这并不是一个答案,而是一个建议的临时解决方法。使用 async:false 使调用同步,然后查看是否再次正常工作。

最近我一直在为一个听起来类似的错误而抓狂。

关于asp.net - firefox,jQuery ajax 调用触发两次并且从不触发成功或错误函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2909110/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com