【问题标题】:Able to create accounts via Postman, Issues creating from React能够通过 Postman 创建帐户,从 React 创建问题
【发布时间】: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


【解决方案1】:

我正在使用的后端开发人员能够弄清楚如何禁用 COR 要求并解决了问题。将尽快标记为已回答。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-10
    • 1970-01-01
    • 2019-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多