先看一段**
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獲取到得資料很混亂,沒有規律,怎麼解決呢?...