javascript 节点错误:无法在www.example.com命令上获取/app.post[已关闭]

vwoqyblh  于 2023-02-18  发布在  Java
关注(0)|答案(2)|浏览(114)

**已关闭。**此问题需要debugging details。当前不接受答案。

编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
5小时前关门了。
Improve this question

这段代码是处理API请求的express服务器的代码。
app.get('/')给出了所需的结果(hello world页面)。将app.get更改为app.post将引发Cannot GET/

我期待着一个窗口弹出一个Hello World!消息沿着一个输入字段。

import React, { useState } from 'react';
import './App.css';

function App( ) {
  const [message, setMessage] = useState('');
  const [response, setResponse] = useState('');

  const handleSubmit = (e) => {
    e.preventDefault();
    fetch('http://localhost:3001/', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json'
      },
      body: JSON.stringify({message})
    })
    .then(res => res.json())
    .then(data => setResponse(data.message));
  }

  return (
    <div className="App">
      <form onSubmit={handleSubmit}>
        <label>
          Message:
          <textarea value={message} onChange={e => setMessage(e.target.value)} />
        </label>
        <input type="submit" value="Submit" />
      </form>
      <div>
continue
        {response}
      </div>
    </div>
  );
}
5ktev3wc

5ktev3wc1#

由于在运行POST请求时错误显示为Cannot GET/,因此您错误地调用了API。
您的服务器端代码是正确的,问题中的其他细节是无关紧要的。从您调用API的地方,将方法从GET更改为POST,它应该按预期工作。

zazmityj

zazmityj2#

希望你知道你有前端和后端。前端是你的react应用程序,后端是你的express服务器。你的react应用程序是通过fetch调用你的express服务器(API),我猜?确保fetch请求是一个正确的post请求与正确的头
同时确保CORS处理正确,React应用程序和Express服务器运行在不同的端口。React默认为3001,Express服务器运行在4000等端口

相关问题