簡體   English   中英

無法從json獲取發布變量

[英]Can't get post variable from json

我有一個Slim php應用程序,其路由如下所示:

$app->post('/products', function () use ($app) {


    $allPostVars = $app->request->post();

    print_r($allPostVars); //Returns a json of the right name attribute


    print_r($app->request->params('name')); //Doesn't return anything

});

我正在使用Resty CLI向看起來像這樣的應用程序發出卷曲請求:

POST /products '{"name":"Hello World"}'

$ allPostVars正在顯示我發送的JSON,但是print_r($app->request->params('name')); 返回NULL。

為什么會這樣呢? 感謝您的幫助!

這可能行不通,但是我有一個我自己創建的API,當我用我的API發送JSON時,我在請求的正文中發送了它,因此它沒有像您期望的那樣分配給POST變量。 我獲取數據的方式是這樣的:

$inputJSON = file_get_contents('php://input'); 

print_r($inputJSON);

我希望這對你有用:)

實際上,不要介意我上面所說的。 我剛剛意識到您已經有了數據。 只需從$ allPostVar讀取並對其運行JSON解碼即可。

$allPostVars = $app->request->post();

$array = json_decode($allPostVar, true);

print_r($array);
echo $array['name'];

那就是您將必須訪問數據的方式,因為正如我在上文所述,它沒有分配給var。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM