如何为Appcelerator转换此curl命令

时间:2016-08-11 20:19:06

标签: appcelerator

我需要将以下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();

1 个答案:

答案 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()方法中的参数。他们必须被打字好吗? 祝你好运,如果你实现它,请告诉我!