如果window.location立即更改,浏览器是否会生成AJAX

时间:2013-07-30 11:13:54

标签: javascript ajax jquery window.location

我有以下情况

<script>
   jQuery.ajax{
       url : 'some serverside bookkeeping handler',
       type : post,
       data : ajaxData
   };

   window.location = 'Some new URL';
</script>

使用案例:我想记录点击网页上特定链接的次数。请注意,目标网页不归我所有。我正在考虑进行ajax调用并同时导航到新的URL。

我基本上想知道是否有任何浏览器甚至不会进行ajax调用并导航到新的URL。我的假设是浏览器仍然可以处理准备ajax请求对象并导航到新URL,使浏览器不会触发ajax请求。

会出现这种情况吗?

请注意,如果ajax响应错误,我不担心。

2 个答案:

答案 0 :(得分:2)

以保存的方式将重定向放入ajax调用的成功处理程序中!

jQuery.ajax{
   url : 'some serverside bookkeeping handler',
   type : post,
   data : ajaxData
   success: function(){   window.location = 'Some new URL'; }
};
如果可以,请使用<a href="some url" target="_blank" ></a>在浏览器中打开新标签页。

答案 1 :(得分:1)

似乎不可能。在ajax响应重新出现之前执行的window.location行。当window.location更改时,将取消前一个域中的所有ajax请求。试试这个小提琴:http://jsfiddle.net/Vfk3S/8/并查看devtool中的“网络”标签。