如何使用 ajax 从 react 到 express?

Posted

技术标签:

【中文标题】如何使用 ajax 从 react 到 express?【英文标题】:How to use ajax from react to express? 【发布时间】:2019-04-11 03:43:05 【问题描述】:

我是使用 react 的新人。现在我必须解决一个问题。 到目前为止,我通过 express 和客户端通过 react 包括 react router 和 redux,redux-thunk 来制作服务器端部分。当我通过 axios 将帖子发送到 express 服务器时,会出现以下错误

POST http://localhost:8080/api/users 404(未找到)

如何在 express 中接受 redux-thunk 的 CRUD 请求?

服务器端代码如下

//app.js
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded( extended: false ));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, '/public')));

app.use('/api/users', userRouter);
app.use('/profile', profileRouter);

// catch 404 and forward to error handler
app.use(function(req, res, next) 
  next(createError(404));
);


//react redux-thunk side is
axios.post('/api/users',  name: 'LNI' );

【问题讨论】:

【参考方案1】:

您不必提供/public 而只是使用public。 路径生成由path 模块本身管理。

app.use(express.static(path.join(__dirname, 'public')));

表达POST请求是这样处理的

app.post('/api/users', userRouter);

从官方快递文档中阅读更多关于路由的信息 - https://expressjs.com/en/guide/routing.html

【讨论】:

以上是关于如何使用 ajax 从 react 到 express?的主要内容,如果未能解决你的问题,请参考以下文章

react + redux + saga +服务器端渲染+如何停止服务器端渲染页面的额外ajax调用?

React:如何将我的 ajax api 调用移动到一个单独的组件中?

如何动态地将数组添加到 react-bootstrap 表中?

小程序从0到1网络数据请求——request合法域名|GET|POST|跨域?Ajax?

与 JSF 相比,React 如何具有更好的性能

React中的Ajax