【发布时间】:2022-01-24 00:19:27
【问题描述】:
使用以下 ajax 函数调用以 JSON 格式返回数据的 API 端点不会将 results 的值从 undefined 更改为 json['info'] 中的值,但将 async 更改为 false 时会发生这种情况。
检查包含此功能的网页,显示此功能已被弃用,并且没有其他建议。
如何在不编写更多代码来解析服务器返回的数据的情况下读取 json 数据?
function update_info()
{
var results ;
$.ajax({
type: 'GET',
url : "ip:port/api/info",
async:true,
success: function(data) {
results = data['info'];
//console.log(results);
}
});
console.log(results);
return results;
}
This 似乎不符合我的目标,因为数据是从 API 返回的,而不是网页源代码返回到 ajax。
【问题讨论】:
-
我不这么认为,因为该函数没有返回所需的信息,而且这仍然不能解决不使用
async: true如果我错了请纠正我 -
你错了。您要解决的问题是如何将异步操作视为同步操作。这是解决问题的错误方法。拥抱操作的异步特性。在显示的代码中,特定情况是您在函数内进行 AJAX 调用,并希望从该函数返回该调用的结果。链接副本中的问题和答案使用该确切场景作为示例。异步操作没有“解决方法”,解决方案是保持它们异步。
标签: ajax