[英].ajax and params and how to get them to look like this?
我嘗試發布先前的問題,但我認為這很令人困惑。
基本上,我被告知“您能使數據像這樣通過嗎?” -請記住,這些數據不是從表單派生的,而是通過客戶端搜索驅動的數據。
這就是假定要發送到服務器的內容。 因此,如果轉儲了error_log,它將看起來像這樣。 這都是動態的,因此下面的對象將是格式,但數據將更改。
{
"matchedItems" :
[
{ "itemID1" :
{ "Cost" : "12",
"Size" : "small",
"Colors" : [ "blue", "red" ]
}
},
{ "itemdID2" :
{ "Cost" : "33",
"Size" : "large",
"Colors" : [ "yellow" ]
}
}
]
}
因此,我遍歷頁面上的某些內容並將數據打包並返回數據集,從而將數組內的哈希值打包了。
但是對於我的一生,在實際的.ajax帖子中,我什么都看不到。 當我console.log記錄數據時,它看起來不錯。 它是一系列哈希。 等等...看起來不錯。 但是以下是我查看請求參數時實際發送的內容。 因此,以下是我實際發送的內容。 它做了一些奇怪的合並,看起來像。
{
'matchedItems[0][itemid1][Color]' => 'Blue',
'matchedItems[0][itemid1][Size]' => 'small',
'matchedItems[0][itemid1][Cost]' => '33.90',
'matchedItems[1][itemid2][Color][]' => ['Silver'],
'matchedItems[1][itemid2][Size]' => 'small',
'matchedItems[1][itemid2][Cost]' => '44',
'matchedItems[2][itemid3][Color][]' => ['blue','Red'],
'matchedItems[2][itemid3][Size]' => 'large',
'matchedItems[2][itemid3][Cost]' => '23'
};
我試圖$ .params數據,沒有運氣。 我嘗試了dataType中的各種數據設置,沒有運氣。 我對於如何格式化發送的數據(模仿我最初發布的內容)感到迷惑。
有任何想法嗎?
您應該json_encode()從PHP輸出
例:
<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
?>
輸出:
{"a":1,"b":2,"c":3,"d":4,"e":5}
您可以使用jQuery解碼從ajax回復返回的json:
var json_reply = jQuery.parseJSON('{"a":1,"b":2,"c":3,"d":4,"e":5}');
alert( json_reply.a ); // alerts "1"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.