简体   繁体   English

Laravel 5无法接收/读取Json格式(POST方法)?

[英]Laravel 5 Can't Receive / Read Json Format (POST METHOD)?

I've successfully created REST using laravel for GET method. 我已经使用laravel的GET方法成功创建了REST。 My laravel can't read JSON data, but if i use form-data, the laravel can receive / read JSON normaly. 我的laravel无法读取JSON数据,但是如果我使用表格数据,则laravel可以正常接收/读取JSON。 Here's my controller: 这是我的控制器:

public function store(){
        $tagihan=new tagihan;
        $tagihan->no_rek_pelanggan=Request::input('no_rek_pelanggan');
        $tagihan->keadaan_meteran=Request::input('keadaan_meteran');
        $tagihan->angka_meteran=Request::input('angka_meteran');
        $success=$tagihan->save();

        if(!$success)
        {
            return Response::json("error saving",500);
        }    
        return Response::json("success",201);
    }`

I also add use Request; 我还添加了use Request; on my controller. 在我的控制器上。

Here's my result when I use form-data 这是我使用表单数据时的结果

使用表单数据时成功

Here's my result when I use raw (JSON) 这是我使用原始(JSON)时的结果

这是我使用原始(JSON)时的结果

my laravel can't read / receive JSON data. 我的Laravel无法读取/接收JSON数据。

JSON I've tried to submit: 我尝试提交的JSON:

[{
"id":20,
"no_rek_pelanggan":11117,
"keadaan_meteran":0,
"angka_meteran":600,
"status":0
}]

["tagihan": { "id":20, "no_rek_pelanggan":11117, "keadaan_meteran":0, "angka_meteran":600, "status":0 }]'

"tagihan" is my mysql table name. “ tagihan”是我的mysql表名。

public function store(Request $request){
    $tagihan=new tagihan;
    $tagihan->no_rek_pelanggan=$request->no_rek_pelanggan;
    $tagihan->keadaan_meteran=$request->keadaan_meteran;
    $tagihan->angka_meteran=$request->angka_meteran;
    $success=$tagihan->save();

    if(!$success)
    {
        return Response::json("error saving",500);
    }    
    return Response::json("success",201);
}

try like this 这样尝试

Have you tried something like this? 你尝试过这样的事情吗? That your request data is always in JSON proper format? 您的请求数据始终采用JSON正确格式吗?

public function store(Request $requestData){
    $request = json_encode($requestData);
    //check here if all data is now good
    dd($request);

    $tagihan=new tagihan;
    $tagihan->no_rek_pelanggan=$request->no_rek_pelanggan;
    $tagihan->keadaan_meteran=$request->keadaan_meteran;
    $tagihan->angka_meteran=$request->angka_meteran;
    $success=$tagihan->save();

    if(!$success)
    {
        return Response::json("error saving",500);
    }    
    return Response::json("success",201);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM