Ajax请求未在页面重定向上中止

时间:2013-06-28 02:22:24

标签: php javascript jquery

我在特定页面上发送ajax请求。然后我点击另一个链接。并且没有来自ajax请求的响应。有任何方法可以在点击任何其他链接时不破坏我的ajax请求。

2 个答案:

答案 0 :(得分:0)

如果用户离开页面,那么你无能为力。您可以尝试阻止他们离开,或在您的页面上显示重叠并阻止用户点击显示页面上的链接(至少在您的ajax响应到来之前)。确保他们理解在操作完成之前离开页面可能会导致问题。

答案 1 :(得分:0)

如果我理解你的问题,听起来好像你正在解雇ajax请求,但是然后点击页面上的其他链接,那么ajax请求永远不会完成?

如果是这种情况,您可以将函数绑定到.preventDefault()的所有链接,然后当AJAX请求完成时,您可以取消绑定该函数。

有些事情:

function makeAJAXRequest(){
    $('a').click(function(){});
    //Do AJAX Request Here
}
function AJAXCallbackk(){
    $('a').unbind('click');
    //Parse AJAX here
}

您还可以将函数绑定到onBeforeUnload,这会创建window.confirm(),这可能会提示用户询问他们是否确定要离开页面。如果输入框具有未提交的文本,许多网站都会执行此操作。 Facebook就是一个明显的例子。