【发布时间】:2021-10-19 18:05:41
【问题描述】:
我正在 JS 中向后端发出基本请求(仅检查用户实例是否存在,并将返回布尔值(真/假)以防止在需要时返回完整的用户数据)
从同行告诉我的情况来看,不建议通过路径传递敏感数据(在这种情况下是人们的电子邮件),并且应该通过正文(我还没有调查原因)无论如何,我的方式将其配置为包含在主体中,如下所示:
GET http://localhost:8080/User/check
Content-Type: application/json
{
"email" : "B.Nye@ABC.uk"
}
但是在 JS 中执行此调用时:
if (isAuthenticated){
console.log("test -----------")
console.log(user.email)
fetch("http://###.###.###.###:8080/User/check", {
method: "GET",
headers:{"Content-Type":"application/json"},
body: JSON.stringify( {
email: "B.Nye@ABC.uk"
})
}).then((result)=> {
if (result.ok){
console.log("sucess")
}
else{
console.log("fail")
}})}
我收到此错误:
未处理的拒绝(TypeError):无法在“窗口”上执行“获取”:使用 GET/HEAD 方法的请求不能有正文。
有没有办法绕过这个问题,或者我是否仅限于使用 POST 方法并修改我的后端方法或在路径中包含用户电子邮件?
【问题讨论】:
-
如果使用 GET,为什么不使用查询字符串参数?
-
@epascarello 因为他被告知这是“不明智的”:)。
标签: javascript json get backend crud