我有以下情况
<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响应错误,我不担心。
答案 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中的“网络”标签。