我已經看過掙扎在這個論壇上很多職位和仍然有問題,不能讓我的頭一輪吧。與json_decode
$.ajax({
url: myUrl,
data: sendData,
type: "POST",
error: function(xhr, statusText, errorThrown){
// Work out what the error was and display the appropriate message
},
success: function(data){
// data retrived ok
var myData = data;
// do something with data
}
});
的json是這樣(與JS生成):使用Firebug
{"borough": {"id": "3"}, "cat":{"id": "5", "id": "47", "id": "98"}}
我已經hecked和
我公司通過AJAX這是張貼JSON對象retreiving一個PHP頁面它得到跨
我的問題是與PHP的已經過去了,我不能似乎得到json_decoded數據。
<?php
$catPost = $_POST['cat'];
echo($catPost);
$catData = json_decode($catPost, true);
var_dump($catData);
?>
echo語句打印出的翻譯:
但後續代碼var_dump打印出空
我到底做錯了什麼?我如何訪問數據中的diffirent「id」值?
任何幫助非常感謝。
測試頁可以在http://http://www.reelfilmlocations.co.uk/NEW Search/fullsearch_jq.php
測試說明書中可以看出: (使用thetext「高級搜索」選擇類別下拉菜單下進行Ajax調用 還需要選擇一個行政區和somecategories topopulate JSON對象與一些數據
編輯:
的JSON由下述腳本,從數組中讀出選擇的每日新聞的值來創建:
var sendData = {"borough":[], "cat":[]};
//alert('borough tagger add '+BoroughTagger.myIdArray[intIndex]);
sendData.borough.push({"id":BoroughTagger.myIdArray[intIndex]});
$.each(CatTagger.myIdArray, function(intIndex, objValue) {
alert('cat Tagger add '+CatTagger.myIdArray[intIndex]);
sendData.cat.push({"id":CatTagger.myIdArray[intIndex]});
});
這將創建像下面這樣的JSON對象:(在fiebug選中此)
{"borough": {"id": "3"}, "cat":{"id": "5", "id": "47", "id": "98"}}
我現在用stringData = JSON.stringify(sendData)
通過AJAX 發送數據,但有dosent似乎在任何名稱交的集合,該字符串是有,但如果我它使用$myData = $_POST;
其中回聲「ArrayArray」 與json_decode錯誤引用:警告:json_decode()預計參數1是串,陣列中的d給出:\瓦帕\ WWW \ ReelFilm \ NEW搜索\ getAdvSearch.php線路7
讓我怎麼讓Ajax調用分配tothe發送SATA的名稱,所以我可以使用$_POST['myData']
是否複製粘貼? {「id」,「3」}它應該是{「id」:「3」} - 冒號不是昏迷:)也許這就是問題所在? – 2011-02-03 14:48:55
你把它編碼爲一個字符串,或直接發送的JSON對象在javascript中? – 2011-02-03 14:51:27
@湯姆恩,實際上是由一個腳本,我輸入,最多產生的JSON,使用:willchange的問題,以反映 – 2011-02-03 15:02:36