在ajax中使用函数外部的变量
using a variable outside a function in ajax
如何在函数外的函数中使用变量?log(响应)显示从php中获取了内容。警报(lng)显示未定义。为什么?这个脚本的问题是什么?我已经用了一段时间了
下面是脚本。 var lat;
var lng ;
$.ajax({
type: 'GET',
url: 'getlocation.php',
data: 'param=no' ,
dataType: 'JSON',
success: function (response) {
console.log(response);
lat = response.latitude;
lng = response.latitude;
},
error: function (response){
alert (response);
}
});
alert( lng);
因为在代码运行到alert(lng)
行时没有设置变量lng
Ajax调用是异步的。这意味着,JS引擎进入流:
- 发出http请求(
$.ajax...
)
(此时,由于网络操作较慢,所以JS引擎选择继续执行以下行。它会在响应完成后返回。)
- 进入
alert(lng)
行。此时,它仍然是undefined
。 - 请求响应成功/错误,则运行相应的回调函数
function(response)...
。回调函数中的Alert会得到你想要的。
相关文章:
- 定义函数时,如何捕获外部变量的当前值
- jQuery:如何访问外部变量
- 成功回调中的外部变量未正确更新
- 如何通过pickink外部变量在jsfiddle中执行javascript函数
- JQuery 承诺:访问外部变量或将结果传递给 .done 内部的 IIFE
- JsRender:使用 if 语句将 JSON 对象中的值与外部变量进行比较
- jQuery 函数中的外部变量和作用域
- 在 JavaScript 中维护函数外部变量的值
- 如何从传入的预定义回调访问外部变量
- 基于外部变量重新编译指令
- 从函数更改外部变量
- 从AJAX函数中修改外部变量
- 如何通过Javascript在MongoDB 'where'查询中使用外部变量
- 访问Promise链中的外部变量
- Javascript 构造函数,使用引用其他变量的外部变量进行闭包
- 如何在Angular.js指令中将service.js的内部查询结果绑定到外部变量
- 如果内部函数没有'不要使用外部变量的任何变量
- JS如何访问外部变量's函数
- 从@foreach循环内部访问外部变量
- Javascript:访问匿名函数中的外部变量