We want to assign a value to global variables after extracting data from the background using JQuery Ajax, but how can we not assign it? Why?
The reason is actually very simple. Ajax is used for asynchronous operations. That is to say, when you assign a value, the data has not been extracted. Of course you cannot assign it, so you only need to change it to a synchronous operation ~
Method 1: Configure synchronization before Ajax operations.
Copy codeThe Code is as follows:
// Set Ajax Asynchronization to false globally or in a required function, that is, synchronization
$. AjaxSetup ({
Async: false
});
// Then perform your Ajax operations
$. Post (address, parameter, function (data, status ){
If (status = "success "){
// Assign a value to the global variable
}
Else {
Alert ("wrong ");
}
});
Method 2: use $. ajax directly
Copy codeThe Code is as follows:
$. Ajax ({
Type: "post ",
Url: address,
Data: "parameter" + parameter value,
Async: false,
Success: function (data ){
// Assign a value to the global variable;
}
});