全局变量 - AJAX jQuery
Global Variable - AJAX jQuery
我正在尝试设置全局变量国家代码。但该值始终为 null。我能做什么?我尝试了很多方法。请帮忙!
function GetGeolocation(){
$.getJSON("http://ip-api.com/json/?callback=?",function(data){
$.each(data, function(k, v) {
table_body += "<tr><td>" + k + ": " + "</td><td><b>" + v + "</b></td></tr>";
if (k == "countryCode")
{
SetGeolocation(v);
}
})
});
}
function SetGeolocation(value){
countryCode = value;
console.log(countryCode); //Value
}
function Result(){
console.log(countyCode); //Null
}
$(document).ready(function(){
GetGeolocation();
Result();
});
在 JavaScript 中,在函数中声明var
没有关键字的变量只有在函数调用后才会成为全局变量。
考虑一下:
function foo(){
bar = 123;
}
// Reference error - bar is undefined
console.log(bar);
现在在测试变量bar
之前,让我们调用 foo
函数。
function foo(){
bar = 123;
}
foo();
// 123
console.log(bar);
没问题?右?好。至于你的代码,错误非常明显countryCode
只是因为你以前没有调用SetGeolocation()
而undefined
。要使其按预期工作,您需要在调用Result()
之前以某种方式呼叫SetGeolocation()
。
但不要认真地这样做。全局变量是众所周知的不该做什么的事情。考虑将变量作为依赖项传递
相关文章:
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 将curl查询转换为jQuery.ajax()
- jQuery AJAX write to XML
- jQuery Ajax GET请求工作不正常
- jquery ajax https调用给出ERR_INSECURE_RESPONSE
- VB NET JQUERY AJAX上出现错误500
- 如何使用jquery ajax和jsonp在您自己的域上读取json数据
- Jquery/Ajax.serialize()未完全工作
- 页面加载之前的jQuery Ajax加载程序
- jquery/ajax无限滚动事件
- 使用Jquery$.ajax将json数据传递给servlet(doPost)
- 如何将给定的curl命令复制为jquery ajax请求
- 使用 JQUERY AJAX (Spring MVC) 从控制器中删除
- Twitter API在jQuery AJAX中设置授权头
- AngularJS JQuery Ajax表单提交等效
- jQuery Ajax.ajaxSuccess()事件未激发
- 为什么Jquery$.ajax在函数调用中触发所有statusCode,即使调用成功
- jQuery AJAX总是出错
- jQuery Ajax数组序列化错误
- jQuery AJAX获取Vimeo缩略图