【发布时间】:2016-02-10 17:46:38
【问题描述】:
我有一个数组,我将其传递给将发布到 API 的有效负载。在数组中是 API 将单独采用的字段名称(而不是作为数组),因此我创建了一个 for 循环来遍历数组并将字段名称动态添加到有效负载中。但是当我拨打电话时,我只获得最后一个字段名称的数据。如果我说数组中总共有 6 个项目,我只获取最后一个字段的数据。
function getData(payload, index, field) {
var deferred = $q.defer();
for (var i = 0; i < field.length; i++) {
if (field[i]) {
console.log("terms logged", field[i]);
var termsData = {
user_selection: payload,
index_info: index,
field: field[i]
};
console.log("terms data", termsData);
}
}
$http({
url: 'API',
method: "POST",
data: $.param(termsData),
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
}).then(function (response) {
var data = response.data;
console.log("response data", data);
deferred.resolve(data);
});
return deferred.promise;
}
我需要在初次调用后重复循环吗?因为它在一个 for 循环中,所以我假设调用会一个接一个地进行,直到满足条件。
【问题讨论】:
-
你的问题不清楚。你能做一个小提琴来解释你的问题吗?
-
除了有效载荷和索引作为参数外,我还传递了作为数组的 FIELD,我需要对数组中的每个项目进行 http post 调用...所以如果我在 FIELD 中有 6 个项目,我会打 6 个电话...
标签: javascript angularjs for-loop http-post