我想檢索多個ID這樣的數據:
(重簡化,但我希望我可以讓我的點晴)
控制器:
var idList = [39,40,41];
$.each(idList, function(key, value){
var dataObject = {
type: "test",
id: value
};
var getData = DataFactory.get(dataObject);
getData.then(function(result){
console.log(result);
}
});
廠:
app.factory("DataFactory", ['$http', '$rootScope',
function($http, $rootScope){
url = 'http://url/api';
var obj = {};
obj.get = function(object){
return $http({
method: 'GET',
params: object,
url: url
})
.then(function(results){
return results.data;
});
};
return obj;
}
]);
後端:
<?php
$id = $_GET['id'];
$type = $_GET['type'];
echo json_encode(array("id": $id, "type": type, "value": "value matching id ".$id));
?>
如果IDLIST爲1點的整數時,返回的數據相匹配的ID例如:
{id: 39, type: "test", value: "value matching id 39"}
然而,在IDLIST施加多個值時,返回的數據不被施加到正確的ID:
{id: 39: type: "test", value: "value matching id 41"}
{id: 40: type: "test", value: "value matching id 39"}
{id: 41: type: "test", value: "value matching id 40"}
我預計如果我發回相同的ID,與該ID匹配的值將是正確的。不是這種情況。有什麼方法可以將ID正確綁定到正確的匹配值嗎?
編輯: 綜觀鉻發生以下情況的網絡標籤:
對於1號
url: api?id=39&type=test
result(preview): data: [id: 39, type: test, value: 'value matching id 39']
對於3號的
url: api?id=39&type=test (same for 40 and 41)
result(preview): data: [id: 39, type: test, value: 'value matching id 40']
它幾乎看起來像PHP不是HANDELING請求正確。打開api網址(http://url/api?id=39&type=test)總是給我預期的結果。從javascript調用api多次給了我混雜的結果。
解決了現在。 – SanderW
我有兩次使用角度調用java api相同的問題。即使使用Restangular也是如此。也許問題更根本。 –
我只是想出了使用彈簧和運動衫時出現這種情況的人。簡單的解決方案是將資源類的範圍更改爲原型,以便每個請求都有一個新的範圍。查看下面的答案以獲取更多詳細信息。 –