0
有關我公司的網站的網頁之一,我們要驗證用戶的電話號碼。爲了做到這一點,我使用AJAX調用一個語音XML應用程序,該應用程序調用用戶提供的電話號碼,並等待他們輸入隨機生成的PIN。一旦我們收到語音應用程序的響應(無論是正確的PIN碼,不正確的PIN碼還是無答案),它都會將該響應轉發回去並完成AJAX呼叫。AJAX導致Chrome瀏覽器說,該網站是反應遲鈍
這整個過程可能需要長達一分鐘,運行完美,除了在Chrome中。當使用Chrome瀏覽器時,彈出窗口顯示「此頁面似乎沒有響應......」如果我忽略彈出窗口並讓通話完成,那麼一切正常。通話結束,AJAX完成,用戶被重定向到一個頁面,說明驗證是否成功。
我正在尋找一種方式,以避免鉻標記的頁面不響應。管理層擔心它看起來不專業,如果客戶選擇終止無響應的頁面提交從未完成。
AJAX調用發生在一個窗體上的iFrame中提出,如果有任何的影響。
function callNow()
{
// Disable the button so they don't keep clicking while the call is going on.
$("#call_now").attr("disabled", "disabled");
$("#call_now").unbind("click");
$(".state_a").hide();
$(".state_b").show();
// Wait 50 msec so that the 'processing' field can show.
setTimeout(function() {
// Make an ajax call to initiate the call
$.ajax({ url: "/ajax-quicksign-verify-now.php",
type: "POST",
async: false,
data: {action: 1,
number: $("#number").val(),
pin: $("#pin").text()},
success: function (response) {
if (response == 1) {
$("#verified").val("true");
} else {
$("#verified").val("false");
}
$("#quicksign_register").submit();
return;
}
});
}, 50);
的問題是在這裏'異步:假,',導致頁面無法響應,將其刪除。 – Musa
您是否有使AJAX調用同步的正當理由? – AdamJeffers
我們在網站的其他地方有另一個VXML AJAX調用的類似問題,並且從async:true;異步:false;在那裏解決問題,所以我在這裏保持這種方式。 FWIW,改爲async:true在這裏似乎已經解決了這個問題 – awestover89