在做專案的過程中,以下**:在1處a為0。然後通過乙個ajax請求乙個值為1的data賦予a,在2處a為1。然後來到3這裡的時候,a還是為0。通過查詢網路,得出原因是ajax預設的是非同步傳輸資料,在2處的a的scope只在ajax方法內部。
//1
var a = 0;
$.ajaxsetup();
$.get("a.action", function(data) );
//3alert(a);
為了解決上面所遇到的問題,我們把ajax非同步傳輸改為同步。
在與ajax方法之前同乙個作用域的位置,設定為同步傳輸。
//設定為同步傳輸
$.ajaxsetup();
//1var a = 0;
$.ajaxsetup();
$.get("a.action", function(data) );
//3alert(a);
最好不要把同步傳輸的設定放在全域性範圍內,否則設定之後的ajax請求都為同步的了。
ajax給全域性變數賦值問題解決
如果要在 ajax 裡面給全域性變數賦值,需要改為同步操作,即加上async false,就可以了 error事件返回的第乙個引數xmlhttprequest xmlhttprequest.readystate 狀態碼的意思 0 未初始化 還沒有呼叫send 方法 1 載入 已呼叫send 方法,正...
全域性變數的問題
今天在工程裡新增了乙個專門放置全域性變數的標頭檔案,在別的很多c檔案中進行了引用,沒想到編譯的時候老是提示duplicate symbal g7task.說來自己也太差勁了,竟然忘了在c檔案中新增extern關鍵字來引用這個外部變數。而且要命的是在標頭檔案中是不能賦初值的,否則會遇到同樣的鏈結錯誤。...
使用AJAX時 設定ajax全域性變數
ajaxsetup jquery.ajaxsetup 函式用於設定ajax的全域性預設設定。該函式用於更改jquery中ajax請求的預設設定選項。之後執行的所有ajax請求,如果對應的選項引數沒有設定,將使用更改後的預設設定。該函式屬於全域性jquery物件。jquery 1.1 新增該靜態函式。...