React JS API Post 抛出 ERR_ABORTED 415

React JS API Post Throws ERR_ABORTED 415

当我尝试将一些数据保存到本地计算机的 Web 服务中时,App.js 中的以下请求给出 net::ERR_ABORTED 415

浏览器控制台

浏览器网络选项卡

App.js

import React, {Component} from 'react';

class App extends Component {
  async postData () {
    try {
      let result = await fetch('http://127.0.0.1:6060/jpa/save', {
        method: 'post',
        mode: 'no-cors',
        headers: {
          'Accept': 'application/json',
          'Content-type': 'application/json',
        },
        body: JSON.stringify({
          name: 'Switch5',
          state: '1'
        })
      });
      console.log(result)
    } catch(e) {
      console.log(e)
    }
  }
  render() {
    return (
      <div className="App">
        <button onClick={ () => this.postData() }>Press me to post some data</button>
      </div>
    );
  }
}

export default App;

如果我使用邮递员,位于我本地机器上的 Web 服务正在运行


除此之外,如果我使用 webhook 测试 API,它工作正常

class App extends Component {
  async postData () {
    try {

      let result = await fetch('https://webhook.site/40336c89-decc-4abc-9e62-9181316a4c85', {
        method: 'post',
        mode: 'no-cors',
        headers: {
          'Accept': 'application/json',
          'Content-type': 'application/json',
        },
        body: JSON.stringify({
          key1: 'myusername'
        })
      });

我认为问题在于您如何编写获取数据的方法。编辑调用 postData 方法的行。我只编辑了 postData 调用的第一行。

postData = async () => {
try {
  .....
} catch(e) {
  console.log(e)
}
}

使用“axios”管理到 post

步骤 01:在 App.js

中添加了以下内容
axios.post('http://127.0.0.1:6060/jpa/save', {
        name: 'Switch6',
        state: '1'
      })
      .then(function (response) {
        console.log(response);
      })
      .catch(function (error) {
        console.log(error);
      });

第 02 步:这是给定的跨源问题。所以将@CrossOrigin 添加到 Spring Boot Web 服务控制器如下

@RequestMapping("jpa")
public class JpaController {
    @Autowired
    private UserJpaRepository userJpaRepository;
    @CrossOrigin
    @PostMapping("save")
    public String saveUser(@RequestBody Switches user) {
        System.out.println("Request came");
        userJpaRepository.save(user);
        return "User Saved";
    }

现在保存数据成功