簡體   English   中英

需要幫助JQUERY Ajax我的多維JSON

[英]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 ,而不是我想要的idharga

謝謝

這是一個示例,可以幫助您理解。 您必須再使用一個循環來迭代內部循環。

 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM