一、總結:
1.問題描述:
今天做項目遇到在用表單顯示詳細信息的過程中ajax請求獲取的數據無法賦值給全局變量的情況,從列表頁面進入詳情頁,在詳情頁面被渲染了之后就會調用js文件里的接口向服務器請求數據,除了詳情頁面被加載之后需要向服務器發送ajax請求,在詳情頁面還有幾個表單控件的屬性需要去請求服務器獲取實際項目中要求要顯示的數據。
如下代碼,直接在ajax請求中改變表單控件的值,避開了給全局變量賦值。
給全局變量賦值的解決辦法,給ajax請求設置async為false,表示請求為同步請求:
異步請求不會阻塞代碼的執行,程序從上往下執行,同步請求必須等前面的代碼執行完后面的代碼才能執行。所以,ajax請求的數據不能賦值給全局變量(賦值之后全局變量沒有值),是因為ajax請求還沒有執行完后面的代碼就執行了。將ajax請求設置成同步請求,保證ajax請求執行完了再給全局變量賦值。