2016-11-16 73 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

感謝您的支持 –

相關問題