比如
var num = 5;
$.ajax({
url: "../TongJiBaoBiao/ZhengQueLv", success: function (res) {
json = JSON.parse(res);
alert("json[0].Column:" + json[0].Column1);
}
});
num = parseInt(json[0].Column1);
以上代码alert能够获取到内容,但是 num = parseInt(json[0].Column1)中num的赋值是失败的。
原因如下:
ajax默认为异步请求,也就是
async: true
async在不写的情况下默认为async: true;
什么是异步请求呢?
就是ajax里边的回调函数function(),是在后端数据返回后才执行,原script代码在执行get或post请求后就继续执行往下的代码了,等到后端数据发送过来后,才回过头来执行function()函数,于是function()后给num的赋值操作num = parseInt(json[0].Column1)会先被执行,然后再执行function()函数,所以,但是num的赋值跟function()的返回值有关,所以导致失败。这也是function()函数被称为回调函数的原因。也是被称为异