2011-06-22 133 views
1

好的標題說我想。如何在POST請求中從Request Body獲取所有'內容'?

我試過print_r($_SERVER),但是我用提琴手做的'post-request'沒有出現。

我真的在我心裏現在想約1小時後:S

什麼其實我要的是使用JSON的請求體發送POST請求。然後我想json_decode(request-body);這樣我可以使用變量來回復。所以,我並不需要把我的變量在URL

編輯:

這是我的POST

$url = 'http.........jsonAPI/jsonTestAPI.php'; 
$post = array("token" => "923874657382934857y32893475y43829ufhgjdkfn"); 
$jsonpost = json_encode($post); 

$ch = curl_init($url); 

curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonpost); 

$response = curl_exec($ch); 

curl_close($ch); 
+1

告訴我們你有什麼代碼... – Drewdin

+0

第一停靠港應該永遠是phpinfo();在你的PHP腳本中看看有什麼可用的...你會看到$ _REQUEST或$ _POST,如果它們是有效的和設置的... – sdolgy

+0

我需要建立的是移動應用程序和服務之間的通信。 JSON API服務。我需要用一些可以返回的feedkey來接收一個數組。但是你不能只在數組中放入數組,所以我想到了一個JSON POST請求。 – Highmastdon

回答

7

嘗試file_get_contents('php://input');或PHP全球$HTTP_RAW_POST_DATA

+1

不知道爲什麼這是低調,因爲它確實是正確的事情。 – pilif

+0

謝謝:) file_get_contents('php:// input');正是我需要的。 – Highmastdon

+0

這也適用於任何其他HTTP方法攜帶的內容正文,如PUT。還建議用'maxlen'參數爲允許的內容主體設置最大大小,例如, 'file_get_contents('php:// input',null,null,0,0x1000)'。 –

0

最簡單的方法是將你的json放入一個隱藏的輸入字段,然後用POST提交包含的表單。