【发布时间】:2017-10-10 12:37:23
【问题描述】:
我正在尝试通过对 Firebase Cloud Messaging 的 POST 请求向 android 设备发送消息。但是当我从 POSTMAN 发出 Post Request 时,服务器会以成功响应 200 进行响应。
但是当我通过 AJAX 请求在 JAVASCRIPT 中做同样的事情时,我得到了错误 400。
如何解决这个问题?
这是我通过 POSTMAN 发送的数据:-
网址:-“https://fcm.googleapis.com/fcm/send”
内容类型:“应用程序/json”
授权:“key=mykey”
{
"to" : "/topics/global",
"notification" : {
"body" : "great match!",
"title" : "Portugal vs. Denmark"
}
}
JAVASCRIPT AJAX 请求:-
如果我通过 AJAX 请求从 javascript 发送相同的数据,我会得到响应 400。
mydata = {
"to" : "/topics/global",
"notification" : {
"body" : "great match!",
"title" : "Portugal vs. Denmark"
}
}
headers= {
"Content-Type": "application/json",
"Authorization": "key=AIzaSy....KC1Q",
}
$.post({
url: 'https://fcm.googleapis.com/fcm/send',
data: mydata,
success: function (e) {
console.log(e+ "SUCESS") ;
},
headers: headers
});
【问题讨论】:
-
你确定你的密钥在js中这样插入时被正确转义了吗?
-
只是快速浏览一下,您的 ajax 请求代码看起来真的很奇怪 - 您的选项对象在括号之外,并且您有 headers = 而不是 headers:... 你确定这是正确的代码?
-
您的 JavaScript 中有明显的语法错误。这应该会给你 JS 错误而不是 400。尝试显示一个真实的 minimal reproducible example。
-
我对语法错误感到非常抱歉,我现在已经更正了。请重新检查。我正在使用 jquery 库的 POST 方法。
标签: javascript ajax firebase post postman