【发布时间】:2017-07-22 01:46:41
【问题描述】:
for(var j = 0; j < tempArray.length; j ++){
$.getJSON('http://localhost:8080/predict', tempArray[j])
.fail(function(data,textStatus, error) {
Probability = data.responseText;
console.error("getJSON failed, status: " + textStatus + ", error: "+error);
})
.done(function(data) {
console.log(data);
Probability = data.classProbabilities[0];
Array.prototype.push.call(resultPercentage, Probability);
});
}
console.log(resultPercentage);
tempArray 是一个包含 10 个对象的数组。我正在使用 for 循环将该数组传递给 json。resultPercentage 在一个数组中打印 10 个不同的结果。
每当我使用 for 循环调用该 Json 时,它会不断更改该数组中结果的顺序。
【问题讨论】:
-
您能否澄清问题所在...既然您有 10 个预期结果。你知道
.get()是异步的,对吧? -
@LouysPatriceBessette:是的,那么我怎样才能获得同步的结果?每次“resultPercentage”给我一个随机序列数组的结果。
-
我认为几乎不可能同时“订购”多个 ajax 请求发送到服务器。治疗顺序取决于服务器。你应该做的是发送一个“标识符”和数据,并设法在响应中取回这个标识符。然后用它来“重新排序”它们。 -- 喜欢... 改为发送一个对象:
{data:tempArray[j],id:j} -
@LouysPatriceBessette:好的,让我试试
-
@LouysPatriceBessette:如何在我的程序中传递该对象?
标签: javascript jquery json ajax for-loop