我在.js文件中有这段代码:
$.getJSON('http://api.wipmania.com/jsonp?callback=?', function (data) {
if (data.address.country='spain') {
var a="http://www.link1.com";
} else {
var a="http://www.link2.com";
}
return a;
});
var fan_page_url = data();
如何在var fan_page_url中存储var a?
非常感谢。
答案 0 :(得分:2)
尝试删除a
并直接指定链接。
var fan_page_url;
$.getJSON('http://api.wipmania.com/jsonp?callback=?', function(data) {
if (data.address.country = 'spain') {
fan_page_url = "http://www.link1.com";
} else {
fan_page_url = "http://www.link2.com";
}
});
答案 1 :(得分:0)
您有两种选择:直接分配外部变量,建议使用软件仓库,或将$.getJSON
返回值视为Deferred:
$.when($.getJSON(...)).done(function(returnValue) {
fan_page_url = returnValue;
});
后者非常有用,如果您不想对存储结果的变量进行硬编码(虽然一般情况下它不是问题,而前一个选项更容易/更清晰)。
答案 2 :(得分:0)
这是一个老问题,我只是偶然发现(寻找稍微不同的东西),但由于答案似乎没有敲响头,我以为我会增加2美分:如果你(op)成功了一个硬编码并在config.js中手动设置的变量,你可以从start.js中获取,为什么不简单:
为其指定默认值或空值或空值:
var fan_page_url = null; // or
var fan_page_url = ''; // or
var fan_page_url = 'http://url_default'; // etc...
然后更新json函数中的全局变量:
$.getJSON('http://api.wipmania.com/jsonp?callback=?', function(data) {
if (data.address.country='spain') {
fan_page_url = "http://url1";
} else {
fan_page_url = "http://url2";
}
});
在你的start.js页面中,你总是可以检查变量是否被设置,或者是否仍然带有它的默认值,并相应地采取行动......
如果它过去常常使用手动声明的变量,它可能会在这里工作,就像你在结构上没有改变一样,只会在json响应之后更新变量。
为子孙后代发布的答案,将来可能对某人有帮助。