首先需要了解 Ajax 请求是异步执行的,也就是说当发起 Ajax 请求时,程序并不会等待请求返回结果,而是直接执行后面的代码,当 Ajax 请求返回结果时,会触发回调函数,将结果返回给回调函数处理。所以如果我们在全局变量的位置直接赋值,可能会得到 undefined 或者 null。
要在 jQuery 中使用 Ajax 赋值给全局变量,需要将赋值操作放到 Ajax 请求的回调函数中,确保变量被正确赋值。以下是完整的攻略:
- 定义全局变量
var myData;
- 发起 Ajax 请求,并在回调函数中将数据赋值给全局变量
$.ajax({
url: 'my-url',
success: function(data) {
myData = data;
// 这里才是 myData 被正确赋值的地方
}
});
- Ajax 请求方式二:使用 jQuery 的 getJSON() 方法
$.getJSON('my-url', function(data) {
myData = data;
// 这里才是 myData 被正确赋值的地方
});
在这两个示例中,我们都在 Ajax 请求的回调函数中将数据赋值给全局变量,保证了变量被正确赋值。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JQuery中使用Ajax赋值给全局变量异常的解决方法 - Python技术站