我需要将以下curl命令转换为在Appcelerator中使用,但我无法完全理解所有选项
curl -X GET -H "X-Parse-Application-Id: testing" -G --data-urlencode 'limit=10' --data-urlencode 'where={"location":{"$nearSphere":{"__type":"GeoPoint","latitude":51.4993541,"longitude":-0.0814079}}}' https://testing.appspot.com/parse/classes/Testing
我已经尝试过以下操作,并没有提供与curl命令相同的数据
var l = 'limit=10';
var q = 'where={"location":{"$nearSphere":{"__type":"GeoPoint","latitude":51.4993541,"longitude":-0.0814079}}}';
var xhr = Ti.Network.createHTTPClient({
onload : function() {
callback(false, this.responseText);
},
onerror : function() {
callback(true, this.responseText);
},
timeout : 5000
});
xhr.open("GET", parseURL);
xhr.setRequestHeader("X-Parse-Application-Id", Alloy.Globals.PARSE_APP_ID);
xhr.setRequestHeader("url-encode", l);
xhr.setRequestHeader("url-encode", q);
xhr.send();
答案 0 :(得分:0)
我认为你不能在标题中发送查询。 对于Parse,看起来你正在尝试,我正在做这样的REST请求:
var xhr = Titanium.Network.createHTTPClient({
onload: function(e) {
Ti.API.info("Done!");
},
onerror: function(e) {
Ti.API.info("Failed. Error: " + e.error);
}
});
var userIdArray = [user1,user2,user3];
var params = {
'where': {
"userid": {
"$in": userIdArray
}
},
'data': {
'alert' : _message,
'badge': 'Increment'
},
};
xhr.open('POST', 'https://api.parse.com/1/push', true);
xhr.setRequestHeader('X-Parse-Application-Id', 'my_parse_id');
xhr.setRequestHeader('X-Parse-REST-API-Key', 'my_parse_rest_api_key');
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.send(JSON.stringify(params)); //Remember to stringify them };
注意xhr.send()方法中的参数。他们必须被打字好吗? 祝你好运,如果你实现它,请告诉我!