Javascript 获取REST API的请求响应错误

Javascript 获取REST API的请求响应错误,javascript,rest,api,fetch,Javascript,Rest,Api,Fetch,我已经构建了一个API和使用该API的应用程序。当我通过邮递员POST方法时,它工作正常,但当我尝试通过应用程序获取它时,我得到一个错误的请求400状态响应。我做错了什么 以下是我的JavaScript代码: const myForm=document.getElementById('loginForm'); myForm.addEventListener('submit',函数(e){ e、 预防默认值(); 常量url=https://thawing-peak-69345.herokuapp

我已经构建了一个API和使用该API的应用程序。当我通过邮递员
POST
方法时,它工作正常,但当我尝试通过应用程序获取它时,我得到一个错误的请求400状态响应。我做错了什么

以下是我的JavaScript代码:

const myForm=document.getElementById('loginForm');
myForm.addEventListener('submit',函数(e){
e、 预防默认值();
常量url=https://thawing-peak-69345.herokuapp.com/api/auth';
const myHeaders=新的头();
append('Accept','application/json,text/html,*/*');
append('Content-Type','application/json,charset=utf-8')
常量formData={
电子邮件:this.email.value,
密码:this.password.value
};
console.log(formData);
常量获取选项={
方法:“POST”,
模式:“无cors”,
缓存:“无缓存”,
标题:myHeaders,
正文:JSON.stringify(formData)
};
获取(url、获取选项)
.then(res=>res.json())
.then(res=>console.log(res))
.catch(err=>console.log(err))
})
请求

响应

标题请求

标题响应: 你说过:

这是一个声明,表明您没有做任何需要获得CORS许可的事情。如果您试图做任何需要许可的事情,它将被默默地忽略

内容类型
标题设置为HTML
表单
元素的
类型
属性不支持的值需要CORS的许可
application/json
不是这样的值

因此,请求以
text/plain
的形式发送

因为它没有被标记为JSON,所以服务器抛出一个400错误

您需要:

  • 删除
    模式:“无cors”,
  • 确保您向其发出请求的服务将使用CORS授予您权限(或使用与请求相同来源的服务)

感谢您的反馈。我以前在没有“no cors”的情况下尝试过,但后来我有了访问控制允许源响应:(@Monika-因此“确保您请求的服务将使用cors授予您权限”
mode: 'no-cors',
myHeaders.append( 'Content-Type', 'application/json, charset=utf-8')