我想獲取$ HTTP的響應並將其映射到一個空對象。在這裏我曾嘗試Angular.forEach上的錯誤,value.split不是函數
主代碼
function myData(myUrl) {
$http({
method: 'POST',
url: "http://localhost:8085/api/foo",
data: $scope.myUrl,
})
.then(
function successCall(response) {
$scope.resultForRecord=response;
$scope.obj=[];
angular.forEach(response,function (valueToObj,key) {
$scope.obj.push(
{'key' : $scope.resultForRecord.toString().split("=")[0],'value' : $scope.resultForRecord.toString().split("=")[1]})});
console.log($scope.obj);
},
function errorCall(response) {
console.log(response);
$scope.resultForRecord=response;
});
}
,誤差valueToObj.split不是一個函數
現在我已經嘗試了硬編碼實踐演示。這工作得很好。這裏是演示
DEMO:
angular.module('app')
.controller('MainCtrl', function ($scope) {
$scope.dataSet=[
"jon=12",
"petter=10",
"sara=8"
];
$scope.obj=[];
angular.forEach($scope.dataSet,function (key,value) {
$scope.obj.push(
{'name' : key.split("=")[0],'age' : key.split("=")[1]}
);
});
console.log($scope.dataSet);
console.log($scope.obj);
});
我怎麼能解決這個問題?在此先感謝
您的代碼是不完整的,所以我們不得不猜測。我的猜測是,你想分割你得到的數組中的每一個元素作爲HTTP響應的** data **。但是,您將HTTP響應對象的每個值(狀態,標題,數據等)分開。簡單地使用你的調試器,或記錄響應的價值,將會有所幫助。你似乎已經這樣做了,但是你還沒有發佈記錄的內容。 –
更新對不起, – TheTechGuy