我知道很多其他時間都有人問過類似的問題,但我的案例比較具體,據我所知,以前從未涉及過。至少從我能找到的。在繼續使用Javascript代碼之前等待AJAX返回成功?
我在做什麼是使用UID構建對象。該對象所構建的所有東西都需要這個UID,並且需要在它完成任何事情之前將其驗證爲唯一的。
我在JavaScript中隨機生成UID,我正在對SQL數據庫中的所有其他條目進行檢查。我使用PHP和Ajax發佈到數據庫。
我遇到的核心問題是Javascript不會等待Ajax響應,而是繼續滾動。 Ajax必須使用成功處理程序。這對我來說是絕對不可能的,因爲我不能做任何事情,直到我確定UID已被驗證。
是否有任何解決方法或解決方案?承諾是行不通的,因爲正如我之前所說的那樣,UID在構建對象本身時是不可或缺的,所以使用佔位符將不起作用。
在此先感謝!
如果您使用jQuery,請查看$ .ajax的'async'設置(將其設置爲'false') - 另請參閱http://api.jquery.com/jQuery.ajax/ – Andreas
so .. ..爲什麼你不能等待創建一個對象,直到你的第一個Ajax調用返回成功?您可以從該成功回調中踢對象創建方法,對吧? –
看起來您正在客戶端生成UID,然後從服務器/數據庫進行驗證。你不能在服務器上生成已驗證的UID並在第一次加載時傳遞給頁面嗎? –