我正在尝试使用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>
答案 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');
}
}