2016-11-16 79 views
2

我使用Laravel和Vue.js创建应用程序,最初我的应用程序在创建一个更多组件,遵循了同样的程序等,数据停止被于上表中,我开始Laravel 5.1和Vue.js - 21678未捕获(承诺中)TypeError:无法读取null的属性'data'

fetchUser: function(page) { 
 
      var _this2 = this; 
 
      this.$http.get('http://localhost:8000/api/v1/users?page='+page).then((response) => { 
 
       _this2.$set('users', response.data.data); 
 

 
       _this2.$set('pagination', response.data); 
 
      }, (response) => { 
 
       console.log("Ocorreu um erro na operação"); 
 
      }); 
 
     },

得到以下错误“main.js:21678未捕获的(在承诺)TypeError:无法读取null的属性'data',其中所有内容都表示它位于main.js f如果有人知道发生了什么,请帮助我。接下来我介绍负责错误的函数的代码。

当我运行“的console.log(响应)”作为下列图像将显示在结果: console.log(response)

请帮助我,因为我想继续使用Laravel和Vue.js.这一动态

+1

响应数据作为正文返回,而不是数据。你能显示正在生成数据的后端代码吗? – Ben

回答

0

不知道为什么它像你的情况,但得到的答复是很清楚的: 您的数据是不是在response.dataresponse.body

请确保您使用的是您的Laravel控制器JSON响应:

return response()->json([ 
    // your data 
]); 

那么我认为这将是内部数据,因为它应该符合约定。

+0

已经尝试这样做,但返回是相同的,即'response.data'只是返回null,即使使用JSON响应。 –

0

使用response.json()JSON.parse(response.body)作为您的data

正如马立克的回答中所述,回复文本存储在response.body。要在服务器和前端之间同步其结构,请使用json。但只有让服务器以json格式响应是不够的,因为您的应用只包含一些文本(尽管采用json格式)。要使data.data正常工作,可以使用vue-resource的.json()将文本转换为javascript对象,或使用本机JSON对象执行相同操作。

+0

感谢您的支持 –

相关问题