這個問題看起來可能有些奇怪,當頁面經歷web測試時出現問題。頁面在更改位置之前等待AJAX
頁面使用AJAX調用(async設置爲true)來收集一些數據。 AJAX返回響應後
console.log("firing ajax call");
$.ajax({
type: "POST",
url: "requestedService",
data: mode : "requestedMethod",
cache: false,
dataType: "json",
success: function() { console.log("ajax response received") },
error: null,
complete: null,
});
console.log("changing window location");
window.location = "http://www.google.com"
位置唯一變化:考慮下面的代碼 - 出於某種原因,它不會掉頁的AJAX調用返回之前。我測試過這個調用,它實際上是異步的,頁面沒有被阻塞。即使AJAX調用沒有完成,它也應該加載新頁面,但是不會。我可以看到該頁面正在嘗試加載,但只有在得到響應後纔會發生。有任何想法嗎?
控制檯輸出爲:
firing ajax call
changing window location
ajax response received
好奇,你爲什麼要這樣的事情發生? – ElliotM
就像我說的,這不是一個真正需要的用例,但它發生在執行Web測試時(它們加載頁面,檢查內容,然後或多或少地立即導航到下一頁)。它們失敗是因爲它們在AJAX返回之前被阻止導航到下一頁。 – enp4yne
您是否嘗試將'async'設置爲false? – ElliotM