[英]Using Javascript array or JSON for storing returned values from AJAX request for later use
[英]json to javascript array and storing for outside ajax call use
嘿,希望能有一些快速的帮助,
我的总体目标是检索一个php数组,并使用ajax调用将其存储到javascript数组中。 我是这一切的新手,所以请多多包涵。
我的ajax调用成功,因此它返回echo json_encode(array); 并转到成功功能。
我对如何获取json编码的数据并将其存储到我可以在ajax调用之外使用的javascript数组中感到困惑。
$.ajax({
type: "POST",
url: myurl.php
data: {var1: var1, var2:var2},
dataType: "json",
success: function(data)
{
console.log(data);
var simplified = JSON.stringify(data);
console.log(simplified);
var jsonObj = $.parseJSON('[' + simplified + ']');
},
});
控制台日志给了我;
Object {63: Object, 64: Object, 65: Object}
和
{"63":{"Comment":"tc 1"},"64":{"Comment":"tc 2"},"65":{"Comment":"tc 3"}}
分别。
我想要这种形式的数组;
63
Comment=>"tc 1"
64
Comment=>"tc 2"
65
Comment=>"tc 3"
感谢您的任何帮助!
UPADTE:关于如何在ajax调用之外访问创建的数组的任何建议? 每次尝试时,它都未定义。
您必须遍历对象的属性并创建一个数组:
var myObj = {
1: [1, 2, 3],
2: [4, 5, 6]
};
var array = $.map(myObj, function(value, index) {
return [value];
});
console.log(array);
这个给你:
var data = JSON.parse('{"63":{"Comment":"tc 1"},"64":{"Comment":"tc 2"},"65":{"Comment":"tc 3"}}');
alert(data[63].Comment); // to access
希望能有所帮助。
您的data
变量已经是一个对象。 jQuery内部将JSON解析为一个对象。 如果要使其成为数组,请执行以下操作:
$.ajax({
type: "POST",
url: myurl.php
data: {var1: var1, var2:var2},
dataType: "json",
success: function(data)
{
var arr = [];
$.map(data, function(value) {
arr.push(value);
});
}
});
但是,如果您仍然需要密钥(您在服务器端拥有),只需保持该密钥不变,然后像data[63]
一样访问它data[63]
。 Javascript没有关联数组,在这里它们是对象,在语义上称为类数组对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.