簡體   English   中英

從js中的php解析json

[英]Parse json from php in js

我的php文件中有數組:

    $invoices_arr = [];

    foreach ($invoices as $key=>$invoice){
    $invoices_arr[$key]['id']=$invoice->get_id();
    $invoices_arr[$key]['code_text']=$invoice->get_code_text();
    $invoices_arr[$key]['invoice_name']=$invoice->get_invoice_name();
    $invoices_arr[$key]['status_invoice']=$invoice->get_status_invoice();
    $invoices_arr[$key]['attachments']=$invoice->get_attachments();
}
echo json_encode(['invoices'=>$invoices_arr]);

我的ajax電話:

 $.ajax({
                data:{lead_id:$("#lead_id").val()},
                url: sJSUrlGetAllLeadInvoices,
                success: function (data) {
                    var obj = jQuery.parseJSON(data);
                    $("#all_invoice_table tbody").empty();


                    $(obj.invoices).each(function(key,value){
                        $('#all_invoice_table').append('<tr><td>'+value.invoice_name+'</td><td class="invoice_status">'+value.status_invoice+'<td>attt</td><td><button id="'+value.id+'" class="edit_invoice_'+value.id+'">Edit invoice</button</td><td><button class="send_invoice_btn_'+value.id+'">Send invoice</button></td><td><img class="delete_invoice_'+value.id+'" src="/images/icons/delete.gif"></td><td class="invoice_hidden_column_'+value.id+'">'+value.code_text+'</td></tr>');
 });
   }
    });

在字段value.attachments有php序列化數組,例如,字符串“ a:1:{i:0; s:36:” ../../ pdf_invoices / 2017-10-10015.pdf“;}”。 如何在js中將此字符串轉換為數組?

我嘗試這樣做:

       var mas=JSON.parse(value.attachments);

但我在JSON數據的第1行第1列收到錯誤SyntaxError:JSON.parse:意外字符

我該如何解決? 謝謝你的幫助。

也許您應該在JSON中進行編碼之前先在PHP代碼中反序列化

您不需要使用jQuery.parseJSON解析結果,因為jQuery就是這么做的。 如果使用console.log()檢查數據,您將看到這是一個可供使用的Javascript對象。

您需要將數據類型作為json傳遞。 您可以使用jQuery parse方法解析json響應。

數據類型:json

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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