IE 11在中止GET请求后进入循环

时间:2016-07-08 13:52:02

标签: javascript ajax internet-explorer-11

我有一个用例,其中Ajax(GET)调用会产生带有goto URL的响应,而JavaScript收到此响应后,会尝试通过设置&window; location.location&#39来转到此URL ;到这个URL。 在一种情况下,响应中的URL与Ajax调用的URL相同,只有少一个请求参数。

在这种情况下,IE11中止请求(这是window.location = myresponUrl的结果),并再次进行Ajax调用;这进入了一个无限循环。

并指出造成它的原因以及如何解决它?

它类似于:

$.ajax({
   url: './some-url?param1=a&param2=b',
   success: function (data, status, jqXHR) {
    var redirectUrl = jqXHR.getResponseHeader('Ajax-Location');
    if (redirectUrl) {
       // redirectUrl has value './some-url?param1=a'
       // below statements results a GET and is aborted immediately by IE11, 
       // and request is made to ./some-url?param1=a&param2=b
       window.location = redirectUrl;
    }
    // other processing
   }
});

0 个答案:

没有答案