react-router 将 POST 请求添加到 URL
react-router prepending POST request to URL
谢谢!长期极端的 googler,第一个 SO 问题。一直在绞尽脑汁想办法解决这个问题,一直没有找到解决办法。
我正在尝试通过 fetch
POST
请求将表单数据从 React 发送到快递 api。我已经通过 fetch
成功地将通量操作与存储和源一起使用到 GET
api 数据,并且我已经成功地在快递端存储了 POST
请求;但是每当我提交表单并发送 POST
请求时,react-router 似乎都会将查询添加到 hashHistory
.
screencap of request handled by react-router
这里有一个GITHUB GIST的前端react和后端express。这是应用程序结构树:
├── app
│ ├── controllers
│ │ └── projects.js
│ ├── helpers
│ │ ├── hash.js
│ │ └── passportHelper.js
│ ├── models
│ │ └── projects.js
│ ├── router.js
│ └── views
│ ├── error.hbs
│ ├── home.hbs
│ ├── layout.hbs
│ ├── login.hbs
│ └── register.hbs
├── app.js
└── src
├── app
│ ├── AppRoot.jsx
│ ├── actions
│ │ └── ProjectCreateActions.js
│ ├── alt.js
│ ├── components
│ │ └── CreateProject.jsx
│ ├── dispatcher
│ │ └── AppDispatcher.js
│ ├── sources
│ │ └── ProjectCreateSource.js
│ └── stores
│ └── ProjectCreateStore.js
└── client
├── css
├── fonts
└── js
我尝试了几种不同的解决方案,包括 AJAX
和 XMLHttpRequests
,但问题相同。我已经尝试找到 <Link>
脱离 react-router 的方法,但似乎无法到达 express 服务器。不确定它是否与我设置状态的方式有关,或者它是否与 alt
通量存储共享状态, 或者这是否是状态的工作方式或者我是否应该使用道具,但实际上我只是在摸索文档,试图将 POST
请求从反应中提取出来并表达出来。任何提示将不胜感激!
您似乎需要阻止触发默认事件(如果未另行指定,表单提交默认为 GET
请求):
_onSubmit(e) {
e.preventDefault();
ProjectCreateStore.listen(this._onChange)
ProjectCreateActions.postProjects()
}
谢谢!长期极端的 googler,第一个 SO 问题。一直在绞尽脑汁想办法解决这个问题,一直没有找到解决办法。
我正在尝试通过 fetch
POST
请求将表单数据从 React 发送到快递 api。我已经通过 fetch
成功地将通量操作与存储和源一起使用到 GET
api 数据,并且我已经成功地在快递端存储了 POST
请求;但是每当我提交表单并发送 POST
请求时,react-router 似乎都会将查询添加到 hashHistory
.
screencap of request handled by react-router
这里有一个GITHUB GIST的前端react和后端express。这是应用程序结构树:
├── app
│ ├── controllers
│ │ └── projects.js
│ ├── helpers
│ │ ├── hash.js
│ │ └── passportHelper.js
│ ├── models
│ │ └── projects.js
│ ├── router.js
│ └── views
│ ├── error.hbs
│ ├── home.hbs
│ ├── layout.hbs
│ ├── login.hbs
│ └── register.hbs
├── app.js
└── src
├── app
│ ├── AppRoot.jsx
│ ├── actions
│ │ └── ProjectCreateActions.js
│ ├── alt.js
│ ├── components
│ │ └── CreateProject.jsx
│ ├── dispatcher
│ │ └── AppDispatcher.js
│ ├── sources
│ │ └── ProjectCreateSource.js
│ └── stores
│ └── ProjectCreateStore.js
└── client
├── css
├── fonts
└── js
我尝试了几种不同的解决方案,包括 AJAX
和 XMLHttpRequests
,但问题相同。我已经尝试找到 <Link>
脱离 react-router 的方法,但似乎无法到达 express 服务器。不确定它是否与我设置状态的方式有关,或者它是否与 alt
通量存储共享状态, 或者这是否是状态的工作方式或者我是否应该使用道具,但实际上我只是在摸索文档,试图将 POST
请求从反应中提取出来并表达出来。任何提示将不胜感激!
您似乎需要阻止触发默认事件(如果未另行指定,表单提交默认为 GET
请求):
_onSubmit(e) {
e.preventDefault();
ProjectCreateStore.listen(this._onChange)
ProjectCreateActions.postProjects()
}