ajax 请求成功 再执行javascript,让js程序在ajax请求执行完成后才能继续向下运行代码...

在使用JQuery与js代码写ajax请求时,有时候我们需要取得ajax请求服务器获得的参数赋值变量然后再执行新js语句,往往会这样写:

var aaa;

$.ajax({

type: "post",

url: "请求的地址",

data: {

"参数": '值'

},

datatype: "json",

success: function (obj) {

aaa = obj;

}

});

alert(aaa);

在理想状态下,这样是可以得到ajax返回值去给变量aaa赋值的

但在ajax中默认所有请求都是异步请求,所以当上面ajax请求还在执行等待返回数据时,下面的js就已经开始执行了,这样会的不到返回值.

所以我们需要ajax代码加上一个参数async,其属性默认为true,我们需要将它设置为false,这样就会将请求变为同步请求,用户其他操作需等待请求完成后才能执行.

代码如下:

var bbb;

$.ajax({

type: "post",

async: false,

url: "请求的url地址",

data: {

"参数1": '值1'

},

datatype: "json",

success: function (result) {

bbb = result;

}

});

alert(bbb);

以上示例代码表示先定义一个变量为bbb,然后通过ajax同步post请求服务器获得返回值后,将返回结果赋值给自定义的bbb变量

最后显示获得的bbb变量的值。

你可能感兴趣的:(ajax,请求成功,再执行javascript)