我真的不知道我在這裏做錯了什麼。我得到了一些JavaScript(用jQuery)是這樣的:有沒有一種方法來執行JavaScript代碼在啓動同步AJAX調用之前執行
function myFunc(){
$('.wait').addClass('waiting');
console.log('wait');
var r = $.ajax({type: "GET", url: "my_URL", async: false}).responseText;
$('.wait').removeClass('waiting');
console.log('stop wait');
return r;
}
我的問題是出類「等待」不會添加,而這樣做的呼叫......我的意思是,當我打電話給我的功能,我得到了一個應該在開頭出現的div,然後在刪除之後它不出現。 一切似乎都在進行。我得到了我的Ajax調用,結果當我試圖不
$('.wait').removeClass('waiting');
我格現身但只有在我得到的Ajax響應來執行它。我想時間的要求,並把它大約2秒 ...所以我不知道爲什麼會發生這種情況。
它可能與同步ajax調用有關嗎?由於JavaScript是一種過程語言,因此我認爲應該在登錄到控制檯之前並在啓動ajax調用之前添加該類,但是在得到響應後我得到了所有修改(即使在JavaScript控制檯中,在ajax調用之後)。
任何幫助將是非常好的!
爲什麼同步調用爲什麼不是async ??? –
由於您正在進行同步呼叫,您看不到任何可見的更改。您不會讓瀏覽器有機會進行迴流。 –
我使用同步,因爲它是一種驗證方法,我得到多個用戶編輯一個文件,當他們進行修改時,我不希望他們覆蓋的東西。所以我凍結頁面,以確保有人沒有修改的東西在meen時間... – Incognito