【问题标题】:Vue component doesn't show registers from apiVue组件不显示来自api的寄存器
【发布时间】:2019-06-28 07:19:05
【问题描述】:

请帮助解决这个问题 我正在尝试显示来自 api 路由 (/api/orders) 的寄存器 当我从 axios 调用它们时,我使用 get petition to /api/orders

这是我的方法:

listarOrdenesIngreso (page,buscar,criterio) {
    let me=this;
    var url= '/api/orders?page=' + page + '&buscar='+ buscar +'&criterio='+ criterio;
    axios.get(url)
        .then(function (response) {
            var respuesta= response.data;
            me.arrayOrders = respuesta.orders.data;
            me.pagination = respuesta.pagination;
            // handle success

         })
........ 

这里是API路由routes/api.php文件

Route::resource('orders', 'EntryOrderController',['except' => ['create','edit']]);

这里是控制器的代码(EntryOrderController.php 文件)

public function index(Request $request) 
    { if (!$request->ajax()) return redirect('/');
     $entries = EntryOrder::all(); 
    //return response()->json(['data' => $entries], 200); 

    return $this->showAll($entries); 
}

问题如图 1 所示,我的 vue 组件中没有显示任何寄存器当我从浏览器中的 URL 调用它们时,正确地显示包含数据的数组。

希望你能帮我谢谢

【问题讨论】:

  • 你从 showAll 方法返回什么?

标签: vue.js laravel-5


【解决方案1】:

你的问题是请求结果数据没有建立

 `listarOrdenesIngreso (page,buscar,criterio){
                let me=this;
                var url= '/api/orders?page=' + page + '&buscar='+ buscar + '&criterio='+ criterio;
                axios.get(url)
                    .then(function (response) {
                        me.pagination = response.pagination;
                        me.arrayOrders = response.data.data; // do this 
                    //me.arrayOrders = respuesta.orders.data; // errors here

                        // handle success

                    })

【讨论】:

  • 嗨@Birante me.arrayOrders = respuesta.data; arrayOrders 被数据填充。但我仍然无法在视图中显示 感谢您的评论
  • 最后,在我的 vue Orders 组件中,我的 arrayOrders 中没有一些字段。我删除了这些字段和作品。谢谢
猜你喜欢
  • 2017-05-26
  • 1970-01-01
  • 2022-06-22
  • 1970-01-01
  • 2017-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-06
相关资源
最近更新 更多