gpt4 book ai didi

javascript - $.get 调用外部的变量值尚未设置

转载 作者:行者123 更新时间:2023-12-02 13:45:20 25 4
gpt4 key购买 nike

我试图从 $.get jquery 调用内部设置变量的值,但它不起作用。下面是我的代码

var uData = [];
$('#tfriends').click(function () {
get_json(function () {
alert(uData);
});
});


function get_json(callback) {
$.get('url', function (data) {
var data = $.map(data.result, function (obj) {
obj.Id = obj.Id || obj.name;
obj.text = obj.text || obj.name;
return obj;
}, "json");
uData = data;
});
}

最佳答案

您没有在 $.get 函数内调用回调函数。检查下面的评论。

var uData = [];
$('#tfriends').click(function () {
get_json(function () {
alert(uData);
});
});


function get_json(callback) {
$.get('url', function (data) {
var data = $.map(data.result, function (obj) {
obj.Id = obj.Id || obj.name;
obj.text = obj.text || obj.name;
return obj;
}, "json");
uData = data;
callback() // this line will actually call your callback function
});
}

编辑
正如@FelixKling 下面建议的那样,您可以在回调本身中传递数据,而不是像这样声明全局变量

// var uData = [];
$('#tfriends').click(function () {
get_json(function (returned_data) {
alert(returned_data);
});
});


function get_json(callback) {
$.get('url', function (data) {
var data = $.map(data.result, function (obj) {
obj.Id = obj.Id || obj.name;
obj.text = obj.text || obj.name;
return obj;
}, "json");
//uData = data;
callback(data) // this line will actually call your callback function
});
}

关于javascript - $.get 调用外部的变量值尚未设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41447670/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com