棘手的AJAX请求

时间:2011-06-29 12:47:05

标签: ajax jquery asp.net-ajax

我有一个客户端(用JS-jQuery编写)向服务器发送4个请求(用ASP.NET-C#编写)。
前3个请求工作正常;但是当收到服务器端时,最后一个是空的。

  1. 当我使用firebug查看客户端发送的请求时,它看起来很好,但服务器仍然收到一个空的QueryString;
  2. 当我使用firebug进行“逐步”调试时,服务器会收到正确的请求。
  3. 我认为这是一个跨域问题,但在这种情况下,所有4个请求都不起作用!!
    你有过类似的问题吗?我该如何解决这个问题呢? 谢谢你的回答。

1 个答案:

答案 0 :(得分:0)

设置async: false还有其他含义。

如果将async设置为false,浏览器将下注阻止,直到响应从服务器返回到客户端,这将影响客户端性能和用户体验。如果您可以共享导致问题的代码段,我们可以帮助您解决问题。将async设置为false可能不是正确的解决方案。

您能否分享以下几点的细节? 请求的顺序是什么? 所有请求是独立的还是某些请求取决于其他请求的响应值?

第4个ajax请求(失败的请求)取决于另一个请求(前3个请求中的1个)的可能性非常大,因为您说的是将async设置为false请求工作正常。

在这种情况下,我建议像

$.ajax({
    url: 'request whose result need to be used in the 4th request',
    data:{....}
    ....
}).success(function(result){
    $.ajax({
        url : '4ht request',
        data:{
            xyx : result.abc,
            ......
        }
    });
})