How to modify global variables using Ajax (Zepto) and ajaxzepto
Two days ago, the project encountered a case of modifying the global variable using ajax. At first, the project could not assign a value to the global variable modification. I checked it online and solved the problem as follows:
Before modification:
Var word = 1; $. ajax ({url: "myJSON. json ", type:" get ", dataType:" json ", success: function (data) {word = 2 ;}}); alert (word );
Result: 1 is displayed;
Cause: js is a single-threaded language, while ajax is asynchronously loaded. To understand this, the above Code runs alert before the assignment in ajax is run, therefore, the pop-up word value is 1.
After modification:
Var word = 1; $. ajax ({Async:False,Url: "myJSON. json", type: "get", dataType: "json", success: function (data) {word = 2 ;}}); alert (word );
Result: 2 is displayed.
Cause: Add async: false to the code and change ajax to synchronous loading. Then the entire code is loaded in order. Therefore, the value of the pop-up word is 2.