【问题标题】:Post failing in React app在 React 应用程序中发布失败
【发布时间】:2016-11-12 08:18:36
【问题描述】:

这是我用来 POST 数据的函数,

export function postData(url, senderId, receiverId, mediaId){
  return fetch(url, { headers: { 'Content-type': 'application/json' },
                      credentials: 'include',
                      mode: 'no-cors',
                      method: 'POST',
                      body: JSON.stringify({"senderId": senderId, "receiverId": receiverId, "mediaId": mediaId})
  })
    .then((response) => { console.log('Status: ', response.status);})
    .catch((error) =>{ console.log("Request failed: ", error) ;

    });

}

这是制作 POST 的组件

class HomePage extends React.Component{
......
 handleSubmit(data){
   ......
    postData(post_url, this.state.user.yguid, this.state.receiverId, this.state.mediaId);

  }

render(){
    return(
        <div className="col-md-2 left-pane">
          <Sidebar handleSubmit= {this.handleSubmit}/>
        </div>

    );
  }

}

这是处理 POST 的服务器端点

 @RequestMapping(value = "/send/",
                    method = RequestMethod.POST)
    @ResponseBody
    public ResponseEntity<Void> send(@RequestBody Message message) {

        try {
            controller.send(message);
        } catch (Exception e) {

        }

        return new ResponseEntity(HttpStatus.OK);
    }

我继续收到以下错误消息,

POST http://localhost:9000/myserver/send/ 415 ()

我做错了什么?

【问题讨论】:

  • 服务器出错。如果不知道/send 路由的代码,就不可能回答这个问题。查看您的服务器日志,看看是否有任何有用的信息。
  • 端点工作正常,我已经在 Postman 上测试过了。
  • @AndyRay 我已经用服务器代码更新了问题。

标签: javascript reactjs fetch-api


【解决方案1】:

在黑暗中拍摄,但 415 错误是不受支持的媒体类型,可能导致您的端点需要 application/json 以外的其他内容。它可能会在 Postman 中工作,因为它非常擅长提供大量默认标头。

如果没有服务器代码,您问题的最佳答案是:由于缺少标头而失败。哪个?我们不知道。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-09
    • 2018-04-01
    • 1970-01-01
    相关资源
    最近更新 更多