簡體   English   中英

.ajax和params以及如何使它們看起來像這樣?

[英].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.

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