无法在Laravel 5.5中使用axios获取记录

时间:2018-02-08 19:38:33

标签: vue.js vuejs2 vue-component axios vue-resource

我正在尝试使用axios获取记录。 但问题是我在控制台中收到错误,如下所示: GET http://127.0.0.1:8000/getData 500(内部服务器错误)

这是我正在尝试获取数据的组件

<template lang="html">
  <div class="getData">
    <h1 class="text-center text-muted">Recently Added Chemicals</h1>
    <div class="table-responsive">
      <table class="table table-striped">
        <tr>
          <th>Chemical Name</th>
          <th>Status</th>
          <th>Stock</th>
        </tr>
        <tr v-for="list in lists">
          <td>{{list.chem_name}}</td>
          <td>
            <p v-if="lists.is_active = 1" style="color: green;">Active</p>
            <p v-else style="color: red;">Not Active</p>
          </td>
          <td>
            <p v-if="lists.is_stocked = 1" style="color: green;">In Stock</p>
            <p v-else style="color: red;">Out Of Stock</p>
          </td>
        </tr>
      </table>
    </div>
  </div>
</template>

<script>
export default {
  data () {
    return {
      lists: {},
      errors: {}
    }
  },
  mounted(){
    axios.get('getData').then((response) => this.lists = response.data).catch((error) => console.log(this.error));
  }
}
</script>

然后我的资源控制器中的getData函数

public function getData(){
      $id = Auth::user()->id;
      $data = chemType::where('user_id', $id)->orderBy('id', 'DESC')->get();
      return response()->json(200, $data);
    }

请帮忙!!!

4 个答案:

答案 0 :(得分:1)

500错误意味着后端出现错误,请查看chrome dev工具网络以查看抛出的异常。

我认为错误发生在 response() - &gt; json()中。第一个参数应该是$ data

答案 1 :(得分:0)

确认bootstrap.js文件中包含以下行

XOAUTH2

并检查您的html页面标题中是否包含以下内容。

TIdSASL

答案 2 :(得分:0)

我是通过在资源控制器中进行更改来完成的。控制器出了什么问题,我在创建新记录后没有发送json响应。所以我做了一件事就是发送了json的回复。 在vue部分,我使用$ parent函数从我的父组件到子项,在子项中我使用$ emit函数刷新了记录,是的,我现在正在获取新创建的记录而没有任何页面重新加载。

答案 3 :(得分:0)

请检查您的网址是否正常工作。意味着它在Controller或Not中获取数据。它给出了一些回应或不回应。我遇到了同样的问题,但我的网址没有提取任何数据,因为我的模型没有包含在内。包括模型后,我的问题就解决了。