Jquery.Ajax()方法会阻塞网页?
我在网页中点击按钮,调用Jquery方法如下:
$.ajax(
{
type: "post",
url: "test.ashx",
contentType: 'application/x-www-form-urlencoded;utf-8',
async: true, //异步请求
},
success: function (result) {
checkAndShowAjaxResult(result);
}
,
error: function (msg)
{ alert('error'); }
});
我在被调用的页面test.ashx中的page_load里延时30秒,这样这个ajax请求直到30秒后才会收到返回数据,但是在这30秒之中,我点击了其他链接<a href>,或者页面上的其他按钮,全都会失去响应,一直要等到这个ajax请求返回之后才会响应,也就是被阻塞了。在IE和chrome中都是如此。
这个是jquery的默认行为吗?有没有什么办法可以解决此问题?我希望的是实现当用户点击其他链接时,能够放弃掉当前请求直接跳转到其他页面。
------解决方案--------------------你有加 async: true, //异步请求,不会是Ajax问题
1,可能是你JS,checkAndShowAjaxResult 或其它地方
2,由访问text.ashx,引起后台被阻塞了
------解决方案--------------------你把服务端都阻塞了,当然不能响应请求,这和ajax有什么关系?
你把链接的地址写成http://www.baidu.com之类的,不要用你自己的(因为你的服务端已经废掉),肯定就可以跳转了