2016-08-11 30 views
0

我需要轉換下面的curl命令在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 

我已經試過了所有選項以下,不會給出與捲曲命令相同的數據

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

我不認爲你可以在標題中發送查詢。 對於解析,看起來像你想,我在做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內PARAMS()方法。他們必須串化好嗎? 祝你好運,讓我知道,如果你實現它!

+0

嘿卡洛斯,謝謝你的代碼片段 - 試用它沒有成功,解析服務器只是返回一個「未經授權」的錯誤,我會調整它,看看我能不能找出是什麼原因導致錯誤 – kenwen