Jquery JSON数组与脚本一起使用
我很难在ajax请求之外访问阵列数据 这是我得到的代码: test.php包含:Jquery JSON数组与脚本一起使用,jquery,arrays,Jquery,Arrays,我很难在ajax请求之外访问阵列数据 这是我得到的代码: test.php包含: echo json_encode($staffID); JQuery是: var id = []; $.ajax({ type: "POST", cache: false, dataType: 'json', url: "test.php", success: function(data) { id = data; console.log (id) //SHOWS
echo json_encode($staffID);
JQuery是:
var id = [];
$.ajax({
type: "POST", cache: false, dataType: 'json',
url: "test.php",
success: function(data) {
id = data;
console.log (id) //SHOWS ARRAY VALUES
}
});
console.log (id) //DOESN'T SHOW ANYTHING
ajax请求中的控制台日志输出显示:
["1234", "2468", "3579", "0864"]
我的目标是运行几个ajax请求并返回总共两个不同的数组。一旦我可以访问ajax结果之外的数组数据,我就可以检查返回的数组数据中是否有其他值
如何在ajax请求之外访问数组id
编辑:
我尝试使用以下方法:
function foo(callback) {
$.ajax({
url: '...',
success: function(response) {
return callback(null, response);
}
});
}
var result = foo(function(err, result){
if (!err)
console.log(result);
});
console.log(结果)
返回正确的结果,但是否有任何方法可以将其作为脚本中其他位置的数组访问
谢谢您看不到数据是正常的。$。ajax函数异步发送请求。因此,您的代码如下所示:
async
$。ajax参数设置为false
:
var id = [];
$.ajax({
type: "POST", cache: false, dataType: 'json',
url: "test.php",
async: false,
success: function(data) {
id = data;
console.log (id) //SHOWS ARRAY VALUES
}
});
console.log (id);
但此参数会停止浏览器工作,直到没有响应为止
最后,您应该在success函数中操作HTML、数据或其他任何内容。这是最好的方法。Hi的可能副本。不知道这是怎么复制的。我可以在success函数中获得结果。我很难在ajax请求之外以数组的形式访问它,这是完全相同的问题。阅读已接受的答案以了解发生了什么。基本上,您的最后一行是在您从AJAX调用中得到响应之前运行的,因此您必须从回调中执行您的逻辑。另外,请遵循已接受回答顶部的链接感谢您在这方面的耐心。。我现在明白你的意思了。。但我仍然没有得到我所期望的结果。我会更新我的问题。