城市飞艇 - 使用Json发送广播消息

时间:2011-11-01 14:09:10

标签: javascript json urbanairship.com

我正在尝试使用std发送广播消息。 html / javascript到Android设备。我在stackoverflow上找到了一个脚本,但我无法让它工作。它没有返回任何错误。然后从城市飞艇管理员发送消息我工作正常。我在这里遗漏了什么吗?

<script language="JavaScript1.2" type="text/javascript">

var ruleObj = {
    "android": {"alert": "test"}
}
;

var objStr = JSON.stringify(ruleObj);
// username : Application Key;
// password : Application Master Secret;

    jQuery(document).ready(function(jQuery){ 

        jQuery.ajax({
        type: "POST",
        contentType:"application/json",
        username: "qE.........",
        password: "zp........",
        url:"https://go.urbanairship.com/api/push/broadcast/",
        data: objStr,
        success: function(data){
                            alert(data);
            }
        });

    });

</script>

2 个答案:

答案 0 :(得分:0)

如果远程服务器未添加Access-Control-Allow-Origin标头,则AJAX调用将失败“相同的原始策略”,并且查询将被拒绝。

通常的做法是修改你的URL,这样jQuery就会尝试使用JSONP而不是普通的JSON。

您可以通过两种方式执行此操作:

url: "https://go.urbanairship.com/api/push/broadcast/?callback=?"

或添加:

dataType: 'jsonp'

答案 1 :(得分:0)

除了使用

dataType: "jsonp",

您还需要使用statusCode参数。由于您将无法获得有效的JSON,因此您需要检查传回的状态代码以确定您的呼叫是否成功:

statusCode: {
    200: function() {
        alert('message sent!');
    },
    500: function(  ) {
        alert('500 error');
    }
}