JavaScript位置重定向暂停Chrome上的AJAX调用
JavaScript location redirect stalls AJAX call on Chrome
这是我只在Chrome上遇到的问题。
代码片段-
// Bind methods to global AJAX events
jQuery(document).bind({
ajaxStart : function() {
showWaitMessage(); // this is where it hangs
},
ajaxStop : function() {
hideWaitMessage();
},
ajaxError : function(jqXHR, exception) {
// error handling
}
});
位置重定向-
var href = "downloadPack?clientName="+clientName+"&clientID="+clientID+"&fundName="+fundName+"&fundID="+fundID+"&navDate="+navDate+"&KD="+KD+"&status="+status;
//setTimeout(function(){document.location.href = href;}, 500);
//window.location.href = href;
jQuery(location).attr('href', href); // Have tried the above two lines too (same issue)
AJAX调用-
function getExceptions() {
jQuery.ajax({url:"exceptions",success:function(result){
jQuery('#subApp').html(result);
document.getElementById("subLink1").className = "";
document.getElementById("subLink2").className = "selected";
document.getElementById("subLink3").className = "last_item";
if(jQuery("#fund").val() == 'all')
jQuery('#fund').val(jQuery('#fund option').filter(function() { return jQuery(this).html() == selectedFund;}).val());
jQuery('#fund option[value="all"]').prop('disabled', true);
getNavDates(0);
}});
}
loaction重定向不用于转到其他页面,而是用于触发下载。这是我在Chrome-中遇到问题的时候
- 单击下载链接(位置重定向)
- 调用AJAX函数
- AJAX调用在showWaitMessage()处挂起
- 下载照常进行
注意:在其他浏览器上一切正常。如果我在点击下载链接之前进行AJAX调用,Chrome上的AJAX调用也可以正常工作。
这个问题有一个解决方法——使用隐藏的iframe下载,而不是当前窗口。只需定义这个简单的函数:
var $idown; // Keep it outside of the function, so it's initialized once.
function downloadURL(url) {
if ($idown) {
$idown.attr('src', url);
} else {
$idown = $('<iframe>', { id: 'idown', src: url }).hide().appendTo('body');
}
}
并替换您的线路:
jQuery(location).attr('href', href);
带有:
downloadURL(href);
相关文章:
- jQuery Mobile Collapse上的AJAX请求
- Rails——处理多态关联上的Ajax destroy调用
- phonegap上的Ajax调用未发送请求
- 自动填充动态字段上的 ajax 响应
- Rails应用程序上的AJAX按钮
- JavaScript位置重定向暂停Chrome上的AJAX调用
- 另一个域上的ajax响应
- 在封闭的 python 服务器上的 ajax 请求中获取 0 作为 Http 响应代码
- 如何对页面进行 ajax 调用并等待该页面上的 ajax 调用完成
- 如何使滚动上的 ajax 负载达到大约 90%,而不是滚动条到达底部
- 移动设备上的 AJAX 请求不起作用
- 自动刷新 HTML 表上的 Ajax 单击事件
- 加载微调器上的 AJAX
- 动态字段上的 AJAX 自动完成
- 文本区域中输入键上的 AJAX 请求未按预期工作
- 服务器返回重定向(302)后,iOS设备上的AJAX或XHR请求失败,代码为0
- 根据选择框上的ajax回复获得随机图像
- 更新文档上的Ajax.准备功能
- 设置jsp上的Ajax响应不起作用
- PhoneGap上的Ajax请求在2G比3G更快