如何在Laravel中接收JSON POST请求

时间:2018-04-23 23:46:41

标签: json laravel request fetch

我想从我的React-Native移动应用程序POST Fetch到我的后端Laravel服务器。我不知道有什么部分丢失或者我做错了什么..这是获取:

fetch('http://example.com/react_test', {
            method: 'POST',
            headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json',
            },
            body: JSON.stringify({
                name: inputName,
                email: inputEmail,
                phone: inputPhone
            }),
        }).then((response) => response.json())
            .then((responseJson) => {
                alert(JSON.stringify(responseJson))
            }).catch((error) => {
                alert(error);
        });

我使用POST路径

在我的后端接收数据
  

Route :: post('/ react_test','QuestionController @ index');

public function index($request){

        $n = $request->input('name');

        DB::table('admin_panels')->insert(['discord' => $n, 'twitter' => 'anan']);

        return response('helal');

    }

我收到此错误:

  

Symfony \ Component \ HttpKernel \ Exception \   MethodNotAllowedHttpException没有消息

1 个答案:

答案 0 :(得分:1)

首先,您需要忽略验证该路线的csrf字段。

app / Http / Middleware / VerifyCsrfToken.php

protected $except = [
    '/react_test',
];

其次在索引方法中使用参数作为Request。

use Illuminate\Http\Request;

public function index(Request $request){

    $n = $request->input('name');

    DB::table('admin_panels')->insert(['discord' => $n, 'twitter' => 'anan']);

    return response('helal');

}