我在特定页面上发送 ajax 请求。我点击另一个链接。ajax 请求的响应没有到来。有任何方法可以在单击任何其他链接时不破坏我的 ajax 请求。
问问题
117 次
2 回答
0
如果用户离开页面,您对此无能为力。您可以尝试阻止他们离开,或者在您的页面上显示一个叠加层并阻止用户单击显示页面上的链接(至少在您的 ajax 响应到达之前)。确保他们了解在操作完成之前离开页面可能会导致问题。
于 2013-06-28T02:30:28.863 回答
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 就是一个明显的例子。
于 2013-06-28T02:32:21.557 回答