【发布时间】:2018-10-30 01:34:33
【问题描述】:
我正在开发一个具有 React/Spring Boot/MYSQL 堆栈的项目,我收到错误消息“POST 415: SyntaxError: Unexpected end of input at line 67” 下面是第 67 行,下面是是它所属的函数:
}).then(res => res.json())
功能:
handleRegisterSubmit(e, data) {
console.log('submitting')
let stringer = JSON.stringify(data)
console.log(stringer)
// console.log(data)
e.preventDefault()
fetch('/api/register', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
credentials: 'include',
mode: 'no-cors',
body: JSON.stringify(data)
}).then(res => res.json())
.then(res => {
// debugger
console.log(res)
this.setState({
auth: res.auth,
user: res.data.user
})
}).catch(err => console.log(err))
}
我记录了函数中发送的字符串化数据,并且能够使用来自 Postman 的相同字符串创建帐户。由于它适用于邮递员,我认为我将其发布到数据库的方式有问题,但我很难弄清楚是什么。我之前在 React 中使用过同样的功能,Rails/Node w Postgres 作为后端,我不确定我是否需要为当前项目使用的堆栈做一些不同的事情。如果有人对我如何/应该从这里进一步排除故障有任何建议,我将不胜感激。
提前感谢您的任何回复!
【问题讨论】:
-
更新:我正在发送 mode: 'no-cors' 作为标题之一来修复 403 错误,通过这样做,它忽略了 application/json 的内容类型和而是以纯文本形式发送。我决定删除该标头,现在正在进一步排除 403 错误。我在下面粘贴了完整错误的文本:
-
无法加载investedu.herokuapp.com/v1.0/register:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin 'localhost:3000' 不允许访问。响应的 HTTP 状态代码为 403。如果不透明的响应满足您的需求,请将请求的模式设置为“no-cors”以获取禁用 CORS 的资源。
标签: javascript mysql json reactjs spring-boot