如何使用 JSON 对象中的 POST 方法在 Laravel 中获取数据?

Posted

技术标签:

【中文标题】如何使用 JSON 对象中的 POST 方法在 Laravel 中获取数据?【英文标题】:How to get data in Laravel using POST method in JSON Object? 【发布时间】:2016-10-31 18:07:45 【问题描述】:

这是我的 route.php

Route::post('users' , array('uses'  => 'Userscontroller@index'));

这是我的 Userscontroller.php

public function index()
    
        $email_id = Input::get('email_id');
        $name = Input::get('name');

        return $email_id. ' ' .$name;
    

当我在邮递员中运行它时,我得到 error 作为

'>' 意外在 JSON 中

.

我错过了什么?

谢谢。

【问题讨论】:

你对核心 php 中的 json 感到满意吗? 是的。我必须使用 Post 方法来获取数据。 你是发布普通数据还是想要json格式的,对吗? 在这里。 “email_id”:“xyz@gmail.com”,“名称”:“xyz” 【参考方案1】:

如果你这样发送 json:

"user":"name":"abc","code":134

在 laravel 控制器中:

$data =  $request->json()->all(); //read json in request
return response()->json($data);  //send json respond

【讨论】:

对您的请求使用 Content-type:application/json【参考方案2】:

也许你正在寻找这样的东西:

public function index()

   //if you want to get json data in your controller do this:
    Request::json()->all();

    //Return json data to your view script like this:
    return response()->json(['email_id'=>$email_id, 'name'=>$name]);

【讨论】:

在我上面的问题中。我已经提到了我的 route.phpUserscontroller.php。我想要在 JSON 对象中使用 post 方法的数据。 没有json数据。@Bhavin Shah 请求::json()->all(); $email_id = 输入::get('email_id'); $name = 输入::get('name'); return response()->json_encode(['email_id'=>$email_id, 'name'=>$name]); 我有这段代码用于使用 post 方法获取数据。 dd(Request::json()->all()) 你看到了什么?【参考方案3】:

试试这个:

 public function index(Request $request)
    
       $dataArray = $request->get('data');
       $data = json_decode($dataArray, true);
       return 'Name: '.$data['name'].', Email: '.$data['email_id'];
    

将您的数据发送到data 标签。

【讨论】:

以上是关于如何使用 JSON 对象中的 POST 方法在 Laravel 中获取数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Flask-rest-jsonapi / JSON API 在同一个 POST 方法中创建对象和相关对象?

如何在 Spring Boot Api post 方法中接收自定义的 JSON 对象

django:使用 json 对象测试基于 POST 的视图

在 json 对象参数 Volley post 中发送令牌头

如何使用resteasy获取post过来的body

如何将 json 列表传递给 Flutter 中的 http 请求(post)正文?