2016-06-13 62 views
1

我這個簡單的代碼高級REST客戶端不發送POST數據

<?php 
$json = array("status" => $_POST['name']); 
header('Content-type: application/json'); 
echo json_encode($json); 
?> 

,當我與Advanced REST cliend發送POST數據,八方通有一個空的$ _ POST表。 enter image description here

+0

爲什麼你沒有任何有效載荷?您需要將json數據粘貼到該部分中 – ShaneOH

+0

我寫了那個數據'{「name」:「test」 }'並且沒有任何更改 – dios231

+0

@ dios231 php不知道如何在本地解析json。將原始標題更改爲'multipart/form-data'並將原始有效負載更改爲'name = test' – bassxzero

回答

2

您正在使用錯誤的傳輸方法。如果您想讀取$ _POST數組中的POST數據,您必須以urlencoded的多部分或www形式發送它。

讀取請求主體,你必須使用下面的代碼:

$postdata = file_get_contents("php://input"); 

然後你就可以解析JSON並將其轉換爲對象。

如果你想使用$_POST陣列需要Content-Type頭設置爲application/x-www-form-urlencoded併發送數據,讀取來自請求中的數據:

param-name=param+value 

(注意,這是URL編碼)。

+0

這個信息是金子!真的謝謝你! –

相關問題