關於堆棧溢出問題有很多類似的問題,但是使用這些技巧並沒有幫助。
我正在學習angular.js,並且正在API上嘗試使用$ http.get,但在將響應分配給變量時遇到了問題。
下面的get請求在加載時運行。 (這是我app.js文件)
var app = angular.module('store',[]);
app.controller("StoreController", function($scope,$http){
var request = $http.get('/test').then(function (response) {
$scope.data = response;
return response;
});
request.then(function (data) {
this.products = $scope.data
});
});
的下面是從對請求的響應(I可以在瀏覽器的控制檯視圖中看到這一點,但不被顯示的數據。)
[
{
name: 'Dowayne',
surname: 'Breedt',
catchphrase: 'wallawallabingbangamIright?',
reviews: [
{
stars: 5,
body: 'i love stuff',
soldOut: false,
},
{
stars: 4,
body: 'meh',
soldOut: true,
},
{
stars: 3,
body: 'shittake mushrooms',
soldOut: false,
},
]
}
];
這是所有垃圾數據(只是爲了練習),但我不能理解爲什麼它不會顯示在HTML頁面上,如果我將上面的代碼片段直接分配給this.products,那麼它的工作原理完美/
我錯過了什麼?
謝謝。
爲什麼你使用.then()兩次 –
你在瀏覽器中顯示的是什麼對象數據或產品? –
我編輯它並刪除額外的。然後,它和以前一樣,瀏覽器應該顯示的所有內容都是每個評論的主體,並且它是這樣做的,但是當我通過http.get獲取信息時,這是行不通的。當我查看檢查元素時,我可以看到/ test的請求,並得到上述響應的響應 –