Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 如何从POST接收JSON?_Laravel - Fatal编程技术网

Laravel 如何从POST接收JSON?

Laravel 如何从POST接收JSON?,laravel,Laravel,我通过RESTAPI从Vue.JS客户机接收JSON,我希望使用Eloquent获取数据,但它不起作用。它不是刀片式的,也不是标准的表单提交数据,我从客户端接收JSON Api,单页应用程序 这是JSON,地址是来自客户端的路由'/order',方法POST: { "name": "John", "phone": "+7 794 910 5708", "email": "example@gmail.com" } 路线是: Rout

我通过RESTAPI从Vue.JS客户机接收JSON,我希望使用Eloquent获取数据,但它不起作用。它不是刀片式的,也不是标准的表单提交数据,我从客户端接收JSON Api,单页应用程序

这是JSON,地址是来自客户端的路由'/order',方法POST:

    {
        "name": "John",
        "phone": "+7 794 910 5708",
        "email": "example@gmail.com"
    }
路线是:

Route::post('/order','OrderController@order');
在控制器中,我尝试这样做:

    <?php

    namespace App\Http\Controllers;

    use Request;
    use App\Data;

    class OrderController extends Controller
    {
        public function order()
        {
            $input = Request::all();
            $data = new Data;
            $data->name = $input['name'];
            $data->phone = $input['phone'];
            $data->save();
            return response()->json(['result' => '200 OK'], 200);
        }
    }

根据以下内容进行一些更改:

在控制器中:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Data;

class OrderController extends Controller
{
    public function order(Request $request)
    {
        $post = $request->all();

        $data = Data::create($post);

        if($data){
            return response()->json(['success' => true, 'message' => 'Data has been inserted!']);
        } else {
            return response()->json(['success' => false, 'message' => 'Data not inserted, Something went wrong!']);        
        }
    }
}

您是否尝试过通过转储接收到的请求数据进行调试?例如,您可以共享您在执行
dd(request()->all())时获得的内容?将此作为第一行放在订单函数中。