gpt4 book ai didi

jquery - 在 $.getJSON() 之外访问 json 数据

转载 作者:行者123 更新时间:2023-12-03 22:48:04 26 4
gpt4 key购买 nike

$(document).ready(function () {
var value = getParmsVals()["search"];
$.getJSON('/api/search/GetQuestionByKey/' + value, function (jsonData) {
$(jsonData).each(function (i, item) {
var name = getAuthorName(item.userId);
});
});
});

function getAuthorName(userId) {
var fullname = "default";
$.getJSON('/api/search/GetUserById/' + userId, function (jsonData) {
fullname = jsonData.firstname + " " + jsonData.lastname;
});
return fullname;
}

我尝试通过调用 getAuthorName 方法来访问 fullname 变量,但无法获取正确的值。它总是给我“默认”值。

最佳答案

您不会从异步方法返回,如您所见,它不起作用!您需要的是一个回调函数,请考虑:

function getAuthorName(userId, callback) {
var fullname = "default";
$.getJSON('/api/search/GetUserById/' + userId, function (jsonData) {
fullname = jsonData.firstname + " " + jsonData.lastname;
callback(fullname);
});
}

请注意我们如何传入callback,然后在 get 调用结束时调用它?现在像这样调用这个方法:

getAuthorName(userID, function(name) {
console.log(name);
});

现在您可以在该回调函数中访问fullname!

关于jquery - 在 $.getJSON() 之外访问 json 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20913682/

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