【问题标题】:How to retrieve array of objects sent by Ajax in laravel如何在laravel中检索Ajax发送的对象数组
【发布时间】:2018-08-19 20:18:39
【问题描述】:

我将 Laravel 与 Vuejs 和 AXIOS 一起用于 HTTP 请求。我正在发送带有对象数组的发布请求。那么在我的 laravel 存储功能中,我如何从 $request 中检索该数据?

我的问题数组如下所示:

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

控制器中的 Laravel Store 方法:

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

}

vue 代码:

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

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

【问题讨论】:

  • 现在显示你拥有的 /addTest 的 laravel 代码。 (路线?)
  • @acdcjunior /addTest 是路线。我试图返回 $request 并在控制台中检查响应。它正在显示对象。这里:prnt.sc/iptd9g
  • 试试:$myArray = $request->all();是这个吗?
  • 您的questions 对象(数组?)看起来如何?
  • @devk 我已经编辑了我的问题,请检查。谢谢

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


【解决方案1】:

在 Laravel 中,您有一个 store 方法,然后您返回请求?为什么要这样做?要查看来自前端的请求?如果是这样,那么我建议您为此使用postman

Postman 使用方便,你可以发送类似前端发送的请求。然后在 laravel store 功能中你可以做

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

您说:我如何从 $request 中检索该数据

如果你从前端发送类似的东西

{ id: 1 }

然后在 laravel 你可以做

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

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

您对邮递员的要求

Laravel 代码输出请求

postman 中显示的来自 Laravel 的响应

【讨论】:

    【解决方案2】:

    如果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');
    

    希望这能给你一些想法。

    【讨论】:

    • 有人知道吗?我如何在 php 中遍历这个问题对象?
    • @RakeshKohali 上面的$request->input() 方法应该返回一个数组。所以你可以简单地使用基本的forforeach 循环。
    猜你喜欢
    • 2016-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-23
    • 1970-01-01
    • 2016-03-18
    相关资源
    最近更新 更多