2009-12-31 58 views
1

我想給使用jQuery的Ajax API數據的JSON數據:從jQuery的AJAX調用獲取一個PHP頁面

var myData = {"param1" : $('#txtParam1').val(), "param2" : $('#txtParam2').val()}; 

$.ajax({ 
    url: 'DataService.php?action=SomeAction', 
    type: 'POST', 
    data: myData, 
    dataType: 'json', 
    contentType: "application/json; charset=utf-8", 
    success: function(result) { 
    alert(result.Result);} 
}); 

當我試圖使用檢索與PHP這個數據

$param1 = $_REQUEST['param1']; 

$param1顯示nullprint_r($_REQUEST)僅顯示action = SomeAction ..

如何檢索PHP頁面上發佈的數據?

+0

這裏是張貼數據(查看使用FireBug控制檯) param1 = somevalue1&param2 = somevalue2 – 2009-12-31 08:47:25

+0

關於REQUEST ... http://thephpcode.blogspot.com/2008/09/request-security-problem.html – mauris 2009-12-31 09:09:51

回答

2

試試這個:

$params = json_decode($_POST['param1']); 

再檢查你所擁有的:

var_export($params); 

或者你可以使用一個foreach循環:

foreach($params as $param) 
{ 
    echo $param . '<br />'; 
} 

您使用POST,方法,不要使用REQUEST,因爲它也不太安全。

+0

Sarfraz它不工作..有你在你身邊試過? – 2009-12-31 08:57:15

+0

@Nav阿里:嘗試從你的代碼中刪除dataType:'json'行,然後看看。當我刪除內容類型時, – Sarfraz 2009-12-31 09:00:42

+0

可以獲取數據 – 2009-12-31 10:33:26

0

使用

$param1 = $_POST['param1']; 
3

,因爲你要發送的阿賈克斯嘗試 「的contentType: '應用/ JSON'」,你需要php://input獲取請求體像這樣:

$request = file_get_contents("php://input"); // gets the raw data 
$params = json_decode($request,true); // true for return as array 
print_r($params);