0
我想弄明白,有沒有任何方法發送原始JSON到PHP而不是POST參數。如果有可能,那麼最好的方式是請求主體或POST參數。發送json作爲請求正文或POST JSON的變量
我想弄明白,有沒有任何方法發送原始JSON到PHP而不是POST參數。如果有可能,那麼最好的方式是請求主體或POST參數。發送json作爲請求正文或POST JSON的變量
發送具有JSON字符串作爲其請求主體的HTTP請求(這裏:在命令行上使用curl
):
$ curl -d '{"foo":"bar"}' example.com/test.php
閱讀此請求體中PHP:
$json = file_get_contents('php://input');
解碼它:
$data = json_decode($json, true);
如果POST請求的請求正文包含URL編碼的鍵值對(例如,請參閱「數據庫」),則超全局PHP將自動填充爲數組。 foo=bar&baz=42
)。在上面的示例中,您仍然使用帶有「POST數據」的HTTP POST請求。它不會自動結束於$_POST
,因爲PHP不知道如何自動解碼JSON。
你爲什麼不想使用POST?這是將數據「發佈」到HTTP資源的標準方式 – fullybaked
是的,可以發送HTTP請求,其請求正文包含原始JSON。 – deceze
好的,謝謝,那我應該如何讓php腳本通過json。 –