帖子編輯頁面重載之前執行:僅供參考,原來的Firefox 48是問題。使用Firefox 50時,代碼將按預期執行。AJAX請求不因等待時間
我們已經在我們部門有一個小錯誤一些舊的代碼,但因爲我不是很精通AJAX我有解決它的問題。
預期功能是,用戶點擊網頁上的元件,這觸發在數據庫中改變一個號碼的請求。然後等待一段時間,然後重新加載頁面。這是在onclick事件中執行的相關代碼:
request('../lib/ajax_lists.php','sideedit',data);
wait(500); //waiting until x ms passed
window.location.reload();
我檢查了這些行,它們似乎按預期工作,但不在一起。 什麼情況是瀏覽器等待,然後重新加載,但數據庫沒有改變。 然後我檢查了請求函數的工作原理,發現數據庫查詢沒有問題。但爲了查看我打印到請求答案的查詢,我必須禁用重新加載。現在我可以看到該查詢,但令我驚訝的是數據庫也發生了變化。
我做了一些更多的測試,這是結果:
- 包括如果 啓用了頁面重載函數的數據庫查詢它不能被正確執行的請求。
- 如果我註釋掉重新導入功能,如預期進行的請求,但當然沒有需要重裝的看到的變化。
- 等待時間似乎並不重要。我將它提升到5000ms,但仍然無法工作。
任何想法?
這是* *舊代碼。隨着AJAX你normall想從AJAX的響應和更新頁面[無需重新加載。(http://jayblanchard.net/basics_of_jquery_ajax.html) –
瀏覽器往往也重裝之前中止未決的請求,也許這導致遠程腳本失敗。 [在PHP中有一個控制這個設置](http://php.net/manual/en/function.ignore-user-abort.php) – apokryfos
我知道如果設計不同,重新加載不是必需的,但重寫是不可能的。 我不得不嘗試設置,但我仍然不知道爲什麼不執行請求正確,即使有足夠多的時間來做到這一點。 – user7048513