Javascript 为什么我尝试提交表单时什么都不做?

Javascript 为什么我尝试提交表单时什么都不做?,javascript,reactjs,Javascript,Reactjs,我正在尝试创建一个网站,有一个表单提交。然而,即使我现在有一个可以转发给我的 <form action="http://formspree.io/myaddress@gmail.com" method="post"> <label for="Name">Name</label><br/> <input type="text" name="Name"/>

我正在尝试创建一个网站,有一个表单提交。然而,即使我现在有一个可以转发给我的

            <form action="http://formspree.io/myaddress@gmail.com" method="post">
                <label for="Name">Name</label><br/>
                <input type="text" name="Name"/><br/>
                <label for="emailAddress">E-Mail address</label><br/>
                <input type="text" name="emailAddress"/><br/>
                <textarea id="subject" name="subject" placeholder="Write something.."></textarea><br/>
                <input type="submit" name="SUBMIT"/>
            </form>
我的导入和构造函数是:

import Input from "./FormComponents/Input";
import TextArea from "./FormComponents/TextArea";
import Select from "./FormComponents/Select";
import Button from "./FormComponents/Button";

class FormContainer extends Component {
  constructor(props) {
    super(props);

    this.state = {
      newUser: {
        name: "",
        email: "",
        location: "",
        message: ""
      },

      locationOptions: ['(outside the USA', 'AL', 'AK', 'AS', 'AZ', 'AR', 'CA', 'CO', 'CT', 'DE', 'DC', 'FM', 'FL', 'GA', 'GU', 'HI', 
      'ID', 'IL', 'IN', 'IA', 'KS', 'KY', 'LA', 'ME', 'MH', 'MD', 'MA', 'MI', 'MN', 'MS', 'MO', 'MT', 'NE', 'NV', 
      'NH', 'NJ', 'NM', 'NY', 'NC', 'ND', 'MP', 'OH', 'OK', 'OR', 'PW', 'PA', 'PR', 'RI', 'SC', 'SD', 'TN', 'TX', 
      'UT', 'VT', 'VI', 'VA', 'WA', 'WV', 'WI', 'WY' ]


    };
    this.handleTextArea = this.handleTextArea.bind(this);
    this.handleFullName = this.handleFullName.bind(this);
    this.handleEmailAddress = this.handleEmailAddress.bind(this);
    this.handleFormSubmit = this.handleFormSubmit.bind(this);
    this.handleClearForm = this.handleClearForm.bind(this);
    this.handleInput = this.handleInput.bind(this);
  }
为什么点击提交按钮时什么也没发生

handleFormSubmit(e) {
    e.preventDefault();
    let userData = this.state.newUser;

    fetch('http://formspree.io/myAddress@gmail.com', {
      method: "POST",
      body: JSON.stringify(userData),
      headers: {
        Accept: "application/json",
        "Content-Type": "application/json"
      }
    }).then(response => {
      response.json().then(data => {
        console.log("Successful" + data);
      });
    }).catch(error => {
        console.log('post error', error);
     });
  }

你应该能看出哪里出了问题

我正在获取:
访问权以获取http://formspree.io/myAddress@gmail.com“源代码”http://localhost:3000'已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:飞行前请求不允许重定向。FormContainer.jsx:108 post error TypeError:无法获取
,然后当我将
{mode:cors}
作为要获取的参数时,我获取了
gethttps://formspree.io/myAddress@gmail.com 405 FormContainer.jsx:104未捕获(承诺中)SyntaxError:FormContainer.jsx:104位置0处JSON中的意外标记<使用Chrome开发工具查看请求内容。在过滤器栏上,单击XHR仅获取ajax请求(我猜您的fetch()方法发送ajax请求),我看到一个405方法;难道formspree不允许这样吗?这就是我正在使用的
https://formspree.io/
@user2343647完整,
状态代码:405远程地址:[2606:4700:20::6819:a424]:443推荐人策略:降级时无推荐人
为什么此问题被否决?
handleFormSubmit(e) {
    e.preventDefault();
    let userData = this.state.newUser;

    fetch('http://formspree.io/myAddress@gmail.com', {
      method: "POST",
      body: JSON.stringify(userData),
      headers: {
        Accept: "application/json",
        "Content-Type": "application/json"
      }
    }).then(response => {
      response.json().then(data => {
        console.log("Successful" + data);
      });
    }).catch(error => {
        console.log('post error', error);
     });
  }