如何在laravel中检索Ajax发送的对象数组

时间:2018-03-11 20:14:32

标签: php laravel laravel-5 vue.js axios

我正在使用Laravel与Vuejs和AXIOS进行HTTP请求。我正在发送一个包含对象数组的帖子请求。那么在我的laravel商店函数中,如何从$ request中检索该数据?

我的问题数组如下:

             data:{
                questions:[{
                    question:'',
                    opt1:''
                            },
                     {
                 question:'',
                 opt1:''
                     }
                     ]
            }

控制器中的Laravel Store方法:

  public function store(Request $request)
{
  return $request;

}

vue code:

axios.post('/addTest',this.$data.questions).then(response=>{
                    console.log(response.data);
                });

在这段代码中,问题是一个对象数组。

2 个答案:

答案 0 :(得分:0)

如果this.$data.questions是一个数组,您只需使用input()方法提取所有问题:

$questions = $request->input();

假设您只想提取第二项的question属性,您可以在Laravel中这样做:

$secondQuestion = $request->input('1.question');

但是,如果您将问题作为对象传递,那也很好:

axios.post('/addTest', { questions: this.$data.questions });

你的PHP部分将如下所示:

$questions = $request->input('questions');

希望这会给你一些想法。

答案 1 :(得分:0)

在Laravel中你有一个商店方法,然后你返回请求?你为什么这样做?从前端看到请求?如果是,那么我建议您使用postman

邮递员易于使用,您可以发送类似的前端发送请求。然后在laravel商店功能,你可以做

dd($request) //to output the request that postman sends
  

你说:我如何从$ request

中检索这些数据

如果您从前端发送类似

的内容
{ id: 1 }

然后在laravel你可以做

$id = $request->get('id');
  

下面你可以看到我如何用邮递员发送请求,以及如何输出请求。

     

您对邮递员的要求

send request with postman

  

输出请求的Laravel代码

laravel code to output the request

  

Laravel的回应显示在邮递员中

Postman output