我正在使用Parse API进行异步'GET'请求。 AJAX请求返回的字符串数组可能不是正确的顺序。我在Google上搜索了AJAX可能拥有的“订单”属性,但没有运气。
这是我的AJAX请求,作为一个名为retrieve的函数获取text属性的值。
AJAX请求:
Obj.retrieve = function(callBack) {
$.ajax({
url : 'https://api.parse.com/1/classes/messages',
type : 'GET',
dataType: 'JSON',
contentType : 'application/json',
data : JSON.stringify({
text : 'value: ',
order: "-createdAt" // Would the order property go here?
}),
error : function(data) {
console.log('error: ' + data);
},
success : function(data) {
for (var i = 0; i < data["results"].length; i++)
callBack(data["results"][i].text);
}
});
};
TL; DR :由于Parse,每个对象都有字段名称createdAt,updatedAt和objectId。理想情况下,我想将createdAt与订单一起使用。有什么建议?
答案 0 :(得分:2)
可能的解决方案:
在服务器端对其进行排序
手动排序:
data['results'].sort(function(a, b) {
return a.createdAt < b.createdAt ? -1 : 1;
});
答案 1 :(得分:1)
data
请求中的$.ajax
参数被发送到服务器;所以你可以在服务器上使用它来对结果进行排序。
如果您没有在服务器上排序,则需要对success:
回调进行排序。建议你使用这样的东西:
Obj.retrieve = function(sortBy, callBack) {
$.ajax({
url : 'https://api.parse.com/1/classes/messages',
type : 'GET',
dataType: 'JSON',
contentType : 'application/json',
data : JSON.stringify({
text : 'value: ' // maybe not needed?
}),
error : function(data) {
console.log('error: ' + data);
},
success: function (data) {
data['results'].sort(function (a, b) {
return a.sortBy - b.sortBy;
});
$.each(data['results'], function (n, v) {
callBack(v.text);
});
});
};
警告:这是我脑子里编的。
您的使用方式类似于o.retrieve('createdAt', function () { });
,o.retrieve('updatedAt', function () { });
或o.retrieve('objectId', function () { });
答案 2 :(得分:1)
您可以使用订购方法作为数据类型并使用 - 。
Obj.retrieve = function(callBack) {
$.ajax({
url : 'https://api.parse.com/1/classes/messages',
type : 'GET',
dataType: 'JSON',
contentType : 'application/json',
data : 'order=-createdAt', //REQUEST FROM NEWEST
}),
error : function(data) {
console.log('error: ' + data);
},
success : function(data) {
for (var i = 0; i < data["results"].length; i++)
callBack(data["results"][i].text);
}
});
};
答案 3 :(得分:0)
从http://api.jquery.com/jquery.getjson/我们读到:
为此,我们应该能够将请求URL重做为: https://api.parse.com/1/classes/chats?order=createdAt