2016-11-25 58 views
2

我使用laravel 5.3和angularjs 我提交JSON从我angularjs像下面laravel和JSON阵列

{"grc":{"id":1},"floatingGrcs":[{"days":"10","units":"100"},{"days":"20","units":"200"}]} 

我从laravel控制器接受这个数组像下面

public function store(Request $request) 
{ 
    //how to extract $request object in here 
} 

我不t知道如何在laravel控制器中提取提交的json数组。

回答

2

您可以使用标准json_decode()

public function store(Request $request) 
{ 
    $data = json_decode($request->someJson); 
} 

你可以看一下所有可用数据dd($request->all());

2

常见的情况是,有没有必要通过角后JSON编码的数据。

要提交一些与角度,你应该使用,例如:

$http.post('api/something', {"grc":{"id":1},"floatingGrcs": [..]}) 

然后就没有必要对Laravel侧解码JSON:

public function store(Request $request) 
{ 
    $request->all();  // to get all fields 
    $request->grc->id; // to get a specific field 
} 
0

我得到以下回答码。但我不确定

$params = json_decode(file_get_contents('php://input'), TRUE); 

这是上面这行代码的安全与否。

public function store() 
    { 

     $params = json_decode(file_get_contents('php://input'), TRUE); 

     foreach ($params as $key => $value) 
     { 
      if($key == "grc") 
      { 
       $grc_id = $value["id"]; 
      } 
      elseif($key == "floatingGrcs") 
      { 
       foreach ($value as $floating) 
       { 
        $days = $floating["days"]; 

       } 
      } 

     }