![](/img/trans.png)
[英]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.