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

5

这是我的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;
    }

当我在postman中运行时,我得到了错误

JSON中出现了意外的'>'

我错过了什么吗?

谢谢。


你对在核心PHP中使用JSON感到舒适吗? - er.irfankhan11
是的,我必须使用Post方法来获取数据。 - Bhavin Shah
你是要将普通数据转换成JSON格式,对吗? - er.irfankhan11
这是代码。{ "email_id" : "xyz@gmail.com", "name" : "xyz" } - Bhavin Shah
3个回答

5

如果您发送以下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。 - dinuka saminda

1
也许您正在寻找类似于这样的东西:

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。我想使用POST方法以JSON对象的形式获取数据。 - Bhavin Shah
没有json数据。@Bhavin Shah - Rastagar
Request::json()->all();$email_id = Input::get('email_id'); $name = Input::get('name');return response()->json_encode(['email_id'=>$email_id, 'name'=>$name]); - Bhavin Shah
我有这段用POST方法获取数据的代码。 - Bhavin Shah
你看到了什么? dd(Request::json()->all()) - Rastagar

0

试一下:

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接