2010-04-08 49 views
0

我需要將JSON對象從$ .post()jQuery函數傳遞到PHP頁面。
我想這個插件jQuery的JSON,但不工作:
從jQuery到PHP的JSON

//include jquery.js and jquery.json.js 

$(document).ready(function(){ 
    var data = new Object(); 
    data.hello = "Hello"; 
    data.world = "World"; 
    var datajson = $.toJSON(data); 
    $.post('file.php', {data: datajson}, function(res){ 
    alert(res); 
    }); 
}); 

而且file.php有這個簡單的一行:

<? 
var_dump(json_decode($_REQUEST['data'], true)); 
?> 

什麼問題?

+1

什麼問題?什麼不行?任何錯誤消息? – 2010-04-08 20:05:50

+0

你安裝了哪些php版本? – Shuriken 2010-04-08 20:45:11

回答

2

有幾件事情:

你不聲明datajson變量,它應該是

 

$.post('file.php', {data: dataString}, function(res){ 
    alert(res); 
}); 
 

呢?

看起來你在PHP中也有類型:son_decode需要是json_decode。

+0

是的我寫錯了...但不工作。 – enfix 2010-04-08 20:14:16

0

我覺得這個功能被拼錯son_decode

應該json_decode參考here

+0

是的,我寫錯了......但不工作。 – enfix 2010-04-08 20:15:27

0

Firebug的參數都OK,但警告返回NULL。
PHP的問題?

0

檢查與phpinfo()在PHP-JSON是實際上可包括compat的圖書館,類似於一個。在某些安裝中,事實並非如此。

0

由於Magic Quotes設置,PHP可能會添加斜線。簡單的解決方法是包裝stripslashes()函數週圍,像這樣:

$data = stripslashes(json_decode($_REQUEST['data'], true)); 

更深入的答案here.你也應該使用$_POST,而不是$_REQUEST出於安全原因。