簡體   English   中英

使用jQuery和AJAX將JSON數據傳遞給PHP

[英]Using jQuery and AJAX to pass JSON data to PHP

我使用以下命令進行了AJAX調用;

$.ajax({
    type: "POST",
    url: "php/customheader.php",
    data: { 
        update: 1,
        header : {
            1 : custom[1].header,
            2 : custom[2].header,
            3 : custom[3].header,
            4 : custom[4].header
        },
        header_key : {
            1 : custom[1].key,
            2 : custom[2].key,
            3 : custom[3].key,
            4 : custom[4].key
        }
    },
    dataType : 'json',
    success: function(data) ajaxSuccessCallback(this_dialog, data)

});

在PHP端,我正在努力將這些數據放入一個適當的關聯數組中,以便在循環等中使用。

$_POST['update']

返回1 所以我知道當數據不在關聯/多維數組中時如何使用JSON-> PHP。

但是調用這個;

$_POST['header[1]']

什么也不返回。

將這種多維數據轉換為適當的格式以在PHP中進行迭代的最佳方法是什么?

謝謝,

您是否嘗試過$_POST['header']嗎?

首先在客戶端首先將其轉換為json文本,例如

var obj = {'update':1,'header':{'key1':custom[1].key,'key2':custom[2].key,'keyN':custom[N].key},...}
var jsonstring = JSON.stringify(obj);

設置完對象后,使用stringify函數將其轉換為JSON字符串(請閱讀有關json格式的更多信息,它將有助於您正確設置對象),使用$ .get()或$ .post( )(使ajax請求更容易)

//example
$.get("serverside.php",{'data':jsonstring});

然后在服務器端說您在客戶端使用了$ .get(),您會說

$str = $_GET['data'];
$Obj = json_decode($str,true);

那么您現在可以說:

echo $Obj['update'];

我希望這會有所幫助,並警告您,未來會有大量調試工作,因此請充分利用互聯網

暫無
暫無

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

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