getJSON非同步請求和同步請求

2021-07-25 11:26:38 字數 602 閱讀 8197

先看一段**

var x = document.getelementsbyname(data);

var i;

for (i = 0; i < x.length; i++) , function (data) );

本段**的意圖是根據元素名取得頁面上所有元素,然後逐個傳送請求到後台,將根據該得到的資料在頁面上進行展示,**中,for迴圈應是乙個原子操作,但$.getjson()是非同步請求資料,第乙個請求還沒結束,第二個就已經開始,導致資料混亂,因此應對for迴圈進行修改,使其變為執行緒安全,具體做法是在for迴圈之前加一段**:

var x = document.getelementsbyname(data);

var i;

$.ajaxsettings.async = false;

for (i = 0; i < x.length; i++) , function (data) );

等for迴圈結束後,再將其修改回來,

$.ajaxsettings.async = true;

如此,使getjson函式各請求之間不會互相影響。

getJSON非同步請求和同步請求

同時執行多個 getjson 時,資料混亂的問題的解決方法 在執行之前加 ajaxsettings.async false 同步執行 執行你的 之後及時恢復為 ajaxsettings.async true 非同步執行 不然影響別的地方的需要非同步執行的 example ajaxsettings.a...

getJSON非同步請求和同步請求

先說一下我遇到的問題吧,我之前的乙個函式想呼叫上乙個函式的返回值,但是它的返回值一直為空,後來翻了一些資料才明白是非同步請求在作怪,不多說,看例子,這是我之前有返回值函式的 function get no order array return order 後來發現列印的陣列order 一直為空,以下...

getJSON非同步請求和同步請求

先看一段 for var j 0 j 24 j function data 這段 的意思是 請求log analyze.php,每次請求成功後就把j加1,然後再去請求。開啟firebug,可以看到這24條資料是非同步執行,所以我log analyze.php獲取到得資料很混亂,沒有規律,怎麼解決呢?...