美元.获取和保存全局变量

$.get and saving global variables

本文关键字:全局变量 保存 获取 美元      更新时间:2023-09-26
var a = 0;
var requestStr ="https://api.flickr.com/services/rest/?method=flickr.interestingness.getList&format=json&nojsoncallback=1&per_page=20&api_key=dc140afe3fd3a251c2fdf9dcd835be5c"; //flickr key.
$.get(requestStr, function(data){
    a = data;
});
console.log(a);

这打印出0,但我试图将data参数保存到全局变量a.

我已经尝试了一个自调用函数并使用第二个函数来设置a = data,但它们不起作用。

老实说,我实在想不明白。

你需要有承诺:

$.get(requestStr, function(data){
    a = data;
}).always(function(){
    console.log(a);
});

因为$.get()方法是异步调用,所以响应需要时间来执行js代码。

除此之外,你可能想看看$.when()

Ajax调用是异步的,这意味着a = data;console.log(a);之后被调用,因为从web获取数据需要时间。

您需要在数据实际到达时处理数据:

var a = 0;
var requestStr ="https://api.flickr.com/services/rest/?method=flickr.interestingness.getList&format=json&nojsoncallback=1&per_page=20&api_key=dc140afe3fd3a251c2fdf9dcd835be5c"; //flickr key.
$.get(requestStr, function(data){
    a = data;
    console.log(a);
});