钛的简单xhr二进制POST不起作用

时间:2014-04-25 08:21:46

标签: xmlhttprequest titanium

我正在尝试在Titanium中执行此卷曲帖但我一直收到400错误。 我已经尝试将数据作为Javascript对象传递。我也尝试过更改标题。 也许我没有达到正确的组合。 请帮忙。

curl 'https://ortc-mobilepush.realtime.co/mp/publish' --data-binary '{"applicationKey": "[INSERT_YOUR_APP_KEY]","privateKey": "[INSERT_YOUR_PRIVATE_KEY]",
        "channel" : "NewArticles", 
        "message" : "We have new articles for you",
        "payload" : "{ \"sound\" : \"default\", \"badge\" : \"2\" }" }'   


var url = 'https://ortc-mobilepush.realtime.co/mp/publish';
var client = Ti.Network.createHTTPClient({
 // function called when the response data is available
 onload : function(e) {
     Ti.API.info("Received text: " + this.responseText);
     alert('success');
 },
 // function called when an error occurs, including a timeout
 onerror : function(e) {
     Ti.API.debug(e);
     //alert('error');
 },
 timeout : 5000  // in milliseconds
});

client.open("POST", url);
client.setRequestHeader('Content-Type', 'multipart/form-data');
// Send the request.
var text = '{"applicationKey": "[App Key]","privateKey": "[Private key]", "channel" :   "GlobalChanell", "message" : "test", "payload" : "{ \"sound\" : \"default\", \"badge\" : \"32\" }" }';
client.send(text);

1 个答案:

答案 0 :(得分:1)

最近我在我的一个客户端应用程序中遇到了同样的问题...... 所以我应该为此解决..

可能是服务器网址存在问题...因此您可以尝试更改该网址并将其替换为以下内容...

https://exampleserver.com/mp/publish

然后将Content-Type设置为application / json 并创建如下的json对象....

var text = {
    applicationKey : [key],
    privateKey : [p_key],
    etc....
}
然后把它传递给......

client.send(JSON.stringify(文本));