[英]Need help to JQUERY Ajax my Multidimensional JSON
我需要從網絡服務器API提取JSON。 簡而言之,這是來自網絡服務器的JSON結構:
[
{
"2017-07-28": [
{
"id": 1,
"produk_id": 1,
"nama_id": 1,
"jumlah_user_id": 1,
"harga": "50000",
"tanggal_efektif": "2017-07-28"
},
{
"id": 2,
"produk_id": 1,
"nama_id": 2,
"jumlah_user_id": 1,
"harga": "12112121",
"tanggal_efektif": "2017-07-28"
},
{
"id": 8,
"produk_id": 1,
"nama_id": 1,
"jumlah_user_id": 1,
"harga": "650000",
"tanggal_efektif": "2017-07-28"
}
],
"2017-07-14": [
{
"id": 4,
"produk_id": 1,
"nama_id": 2,
"jumlah_user_id": 2,
"harga": "121121",
"tanggal_efektif": "2017-07-14"
}
],
"2017-07-27": [
{
"id": 7,
"produk_id": 1,
"nama_id": 1,
"jumlah_user_id": 1,
"harga": "600000",
"tanggal_efektif": "2017-07-27"
}
]
}
]
這是我在客戶端代碼中編寫的JQUERY AJAX:
function loadtabelharga(){
var page = event.target;
$.ajax({
type: "GET",
url: 'url'+page.data.id,
dataType: "JSON",
timeout: 10000,
success: function(result){
$.each(result[0], function (index,el) {
$('#prosesloadingharga').hide();
console.log("harga paket : " +el.harga+" , id harga paket : "+el.id);
});
},
error: function(xhr, textStatus, thrownError) {
console.log("error",xhr.error);
}
});
};
為什么它的結果在我的console.log中未定義? 我認為這與尺寸有關。 誰能幫我 ? 這是一個新事物,我得到了一個像這樣的json結構,我認為這是dates
,而不是我想要的id
和harga
。
謝謝
這是一個示例,可以幫助您理解。 您必須再使用一個循環來迭代內部循環。
var data = [ { "2017-07-28": [ { "id": 1, "produk_id": 1, "nama_id": 1, "jumlah_user_id": 1, "harga": "50000", "tanggal_efektif": "2017-07-28" }, { "id": 2, "produk_id": 1, "nama_id": 2, "jumlah_user_id": 1, "harga": "12112121", "tanggal_efektif": "2017-07-28" }, { "id": 8, "produk_id": 1, "nama_id": 1, "jumlah_user_id": 1, "harga": "650000", "tanggal_efektif": "2017-07-28" } ], "2017-07-14": [ { "id": 4, "produk_id": 1, "nama_id": 2, "jumlah_user_id": 2, "harga": "121121", "tanggal_efektif": "2017-07-14" } ], "2017-07-27": [ { "id": 7, "produk_id": 1, "nama_id": 1, "jumlah_user_id": 1, "harga": "600000", "tanggal_efektif": "2017-07-27" } ] } ]; $.each(data[0], function(key, val) { $.each(val, function(key1, val1) { console.log(val1.harga); }) });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
嘗試這個 :
for(var date in result[0]){
for(var obj in result[0][date] ){
var el = result[0][date][obj];
console.log("harga paket : " +el.harga+" , id harga paket : "+el.id);
}
}
在這里您可以找到解決方案https://jsfiddle.net/79vv97xv/
var data = [ { "2017-07-28": [ { "id": 1, "produk_id": 1, "nama_id": 1, "jumlah_user_id": 1, "harga": "50000", "tanggal_efektif": "2017-07-28" }, { "id": 2, "produk_id": 1, "nama_id": 2, "jumlah_user_id": 1, "harga": "12112121", "tanggal_efektif": "2017-07-28" }, { "id": 8, "produk_id": 1, "nama_id": 1, "jumlah_user_id": 1, "harga": "650000", "tanggal_efektif": "2017-07-28" } ], "2017-07-14": [ { "id": 4, "produk_id": 1, "nama_id": 2, "jumlah_user_id": 2, "harga": "121121", "tanggal_efektif": "2017-07-14" } ], "2017-07-27": [ { "id": 7, "produk_id": 1, "nama_id": 1, "jumlah_user_id": 1, "harga": "600000", "tanggal_efektif": "2017-07-27" } ] } ]; for(var dates in data[0]){ for(var key in data[0][dates]){ console.log("Harga: ", data[0][dates][key].harga); } }
我認為您應該將多維數組放在一個普通對象中。
var your_stringify_obj=JSON.stringify(your_Multidimensional_Json).
$.ajax({
type: "GET",
url: 'url'+page.data.id,
dataType: "JSON",
data: your_stringify_obj,
timeout: 10000,
success: function(result){
$.each(result[0], function (index,el) {
$('#prosesloadingharga').hide();
console.log("harga paket : " +el.harga+" , id harga paket : "+el.id);
});
},
error: function(xhr, textStatus, thrownError) {
console.log("error",xhr.error);
}
});
};
現在應該可以了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.