gpt4 book ai didi

javascript - 在 Jquery Ajax 调用之外访问 JSON 字符串

转载 作者:行者123 更新时间:2023-11-30 17:41:18 27 4
gpt4 key购买 nike

我想知道这些是不是以传统 var 集的形式访问 jquery ajax 调用结果的任何方法,以实现函数时尚。例如考虑:

function getPoints(){
//An array of JSON objects
var Points;

$.ajax({
url: "js/retrievePointsDataJson.php",
dataType:'json',
type: 'POST',
}).done(function(data){
//console.log(data);
Points.append(data);
});

console.log(Points);
return Points;
}

注释掉的 console.log 显示了 json 对象的数组,而外部的则没有。现在,我尝试了这个:

var Points = $.ajax({ ...});

我在一个更大的对象中看到了响应文本,但我不确定如何访问响应文本。 console.log(Points.responseText) 产生一个 undefined variable 。这种方法可能吗? Here是另一个带有类似问题的复选标记的问题。

我有另一个解决方案,将我的代码封装在 done() 函数中,这样我就可以访问我的所有数据。我只是好奇我正在尝试做的事情是否可行。

谢谢。

最佳答案

是的,这是可能的,但是,您必须等待请求完成才能这样做。但是,由于您不能有效地强制 return 等待数据存在,您唯一的选择是返回一个延迟对象,或者以允许的方式重写函数它接受回调。

function getPoints(){
return $.ajax({
url: "js/retrievePointsDataJson.php",
dataType:'json',
type: 'POST'
});
}
getPoints().done(function(data){
console.log(data);
});

function getPoints(callback){
return $.ajax({
url: "js/retrievePointsDataJson.php",
dataType:'json',
type: 'POST',
success: callback
});
}
getPoints(function(data){
console.log(data);
});

关于javascript - 在 Jquery Ajax 调用之外访问 JSON 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21031664/

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