Javascript 如果浏览器在服务器响应之前重定向到其他页面,ajax调用会发生什么情况?
此场景的实际用例是,为网站统计(google analytics、omniture等)触发ajax调用 如果readyState为2,服务器处理请求是否足够Javascript 如果浏览器在服务器响应之前重定向到其他页面,ajax调用会发生什么情况?,javascript,ajax,browser,Javascript,Ajax,Browser,此场景的实际用例是,为网站统计(google analytics、omniture等)触发ajax调用 如果readyState为2,服务器处理请求是否足够 不确定,我把问题问得很恰当。提前感谢。当用户加载其他页面时,任何正在进行的AJAX调用都会被中止。但是,如果请求已发送到服务器,则服务器通常会将请求处理到完成(如果您不小心处理会话,则可能会将事情锁定!) 如果您正在使用会话,请确保调用session\u write\u close()提交会话文件并将其解锁,从而允许启动新请求 编辑:哦,是
不确定,我把问题问得很恰当。提前感谢。当用户加载其他页面时,任何正在进行的AJAX调用都会被中止。但是,如果请求已发送到服务器,则服务器通常会将请求处理到完成(如果您不小心处理会话,则可能会将事情锁定!) 如果您正在使用会话,请确保调用
session\u write\u close()
提交会话文件并将其解锁,从而允许启动新请求
编辑:哦,是的,不管你做什么,不要这样做:
xhr.onreadystatechange = function() {
if( this.readyState == 4) {
if( this.status != 200) alert("Error!");
}
};
否则,试图离开页面的用户将因每个中止的AJAX请求而受到一个警报的轰炸-使用自定义对话框或在this.status==0
时不报告错误,以便用户可以不受限制地进入下一页