![](/img/trans.png)
[英]Jquery ajax works in Chrome and Safari, but not in IE8 and Firefox
[英]AJAX jQuery Freezing IE/Safari
我的智慧到此為止。
我正在運行此腳本
<script type="text/javascript" charset="utf-8">
jQuery(window).ready(function(){
//alert('running');
var sold = false;
var leads = [
["one", 120],
["two", 0]
];
jQuery.each(leads, function(index, value) {
var _data = "";
jQuery.ajax({
url: "/wp-content/plugins/cUrl/submit_lead.php?lead=" + value[0],
dataType: "json",
//contentType: "application/json; charset=utf-8",
timeout: value[1] * 1000, //Yes i need to wait 120 seconds for "one"
async: false,
cache: false
}).success(function(data) {
_data = data;
console.log(data.status + " Lead: "+ value[0]);
if (data.status == "sold") {
sold = true;
jQuery.ajax({
url: "/wp-content/plugins/cUrl/submit_lead.php?resetSession",
dataType: "json",
//contentType: "application/json; charset=utf-8",
async: false,
cache: false
}).success(function() {
//Silence is golden.
});
window.location.href = data.link;
}
}).error(function(jqXHR, textStatus){
console.log("ERROR: " + textStatus + " Lead: " + value[0]);
});
if (_data.status == "sold") {
return false;
}
});
if (!sold) {
//If we get here, None of the leads were sold.
jQuery.ajax({
url: "/wp-content/plugins/cUrl/submit_lead.php?resetSession",
//contentType: "application/json; charset=utf-8",
dataType: "json",
async: false,
cache: false
}).success(function(data) {
//Silence is golden.
});
window.location.href = '/thank-you.php';
}
});
</script>
該腳本將一些信息提交給submit_lead.php,這將返回帶有狀態,消息和鏈接的json響應。 一旦擁有此鏈接,就需要使用?resetSession調用相同的腳本,並將用戶重定向到所接收的鏈接。
我關閉了同步功能,因為我需要等到收到“一個”的響應后再嘗試“兩個”,因為如果收到鏈接,那就沒有必要嘗試下一個。
當腳本在FF或Chrome上運行時,它可以正常運行。 請求處理期間會播放一個小動畫,一旦返回鏈接,它就會相應地重定向。
當腳本在<= IE8或Safari中運行時,頁面sorta加載一半,然后等待(動畫加載但沒有動畫。)。 一旦ajax響應返回,頁面就會突然恢復活力,然后您將被重定向。
我已經嘗試了窗口准備和文檔准備,但似乎沒有任何效果。
任何建議,將不勝感激。
謝謝閱讀。
就像我在評論中說的那樣,重新打開異步。
在ajax函數的回調中添加重定向或想要執行的任何操作。 那很可能是您被鎖定的原因。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.