Javascript 如何按照与请求相同的顺序对AJAX响应进行排序?
我有一个对象,它的属性按一定的顺序排序。对于每个属性,我必须进行AJAX调用,并且我需要响应的顺序与对象的顺序相同。或者至少在收到所有回复后按相同的顺序发送 编辑:如果这可能有帮助,jQuery是可用的 我曾尝试在相关问题中应用建议,但没有成功 我简化了我的功能:Javascript 如何按照与请求相同的顺序对AJAX响应进行排序?,javascript,ajax,Javascript,Ajax,我有一个对象,它的属性按一定的顺序排序。对于每个属性,我必须进行AJAX调用,并且我需要响应的顺序与对象的顺序相同。或者至少在收到所有回复后按相同的顺序发送 编辑:如果这可能有帮助,jQuery是可用的 我曾尝试在相关问题中应用建议,但没有成功 我简化了我的功能: prefillTable : function (data) { console.log(data); // this is the order of properties I need in my response:
prefillTable : function (data) {
console.log(data);
// this is the order of properties I need in my response:
// => Object {color: "blue", light: "led", type: "interior", size: "18"}
for (var prop in data) {
(
function (key) {
service.getAvailableValues(key, function (data) {
// this is where the sort order is missing right now
console.log(key);
});
}
)(prop, data[prop]);
}
}
// output order of console.log(key) is always different, for example:
// [11:53:12.099] => "type"
// [11:53:12.113] => "light"
// [11:53:12.120] => "color"
// [11:53:12.158] => "size"
有趣的是:在Chrome中,响应顺序始终与请求顺序相同。在Firefox中,它会洗牌。对象没有顺序。如果您想要一个订单,那么发送一个数组
[
{ "name": "color", "value": "blue"},
{ "name": "light", "value": "led" },
etc
]