json_decode我試圖通過jquery.ajax()
JavaScript對象傳遞給PHP腳本,基本上是:要JSON和PHP和JavaScript
var bigArray = new Object();
//Dode
//Start loop
bigArray[x] = {name: exname, id: exID, order:e, set: setBox, inc: incBox, example: exampleBox, day: i};
所以這幾乎是這些對象的數組。
var anotherTest = $.toJSON(bigArray);
var ajxFile = "routineajax.php";
$.ajax({
type: 'POST',
processData: false,
url: ajxFile,
data: anotherTest,
success: function(data) {
$('#result').html(data);
alert('Load was performed.');
}
});
});
的PHP端腳本
print_r($_POST);
$params = json_decode($_POST);
print_r($params)
AJAX調用正在經歷,我可以在Firebug看到,但print_r($_POST)
將返回一個空數組。如果我在$.ajax
函數和PHP腳本中將它更改爲$_GET
,它就可以工作。我的主要問題是我收到此錯誤信息:
警告:json_decode()預計參數1是字符串數組中
給出如何解決這個問題?
加入這個片段到PHP文件後
$data = file_get_contents('php://input');
var_dump($data);
var_dump(json_decode($data));
我得到這個輸出
string'{"0"{"name":"Decline`Abs","id":"54","order":0,"set":"","inc":"","example":"","day":1}}' (length=87)`
object(stdClass)[2]
public '0' =>
object(stdClass)[4]
public 'name' => string 'Decline Abs' (length=11)
public 'id' => string '54' (length=2)
public 'order' => int 0
public 'set' => string '' (length=0)
public 'inc' => string '' (length=0)
public 'example' => string '' (length=0)
public 'day' => int 1
所以,至少它會通過,我不知道如何訪問它雖然,在正確的方向邁出的一步!
你可以用print_r($ _ GET)的結果編輯你的問題。我看到你在下面,但我不清楚。 – notJim 2010-03-05 00:15:21