谢谢!长期的极端谷歌员工,首先是这样的问题。我一直在绞尽脑汁想办法解决这个问题,但还没有找到解决办法。
我试图通过fetch POST请求将表单数据从react发送到express。我已经通过GET成功地使用了对fetch api数据的存储和源的通量操作,并且成功地将POST请求存储在快捷端;但是每当我提交表单并发送POST请求时,它看起来就像是react路由器将查询放在hashHistory的前面。
响应路由器处理的请求的筛选
这是前端反应和后端快车的GITHUB GIST。下面是应用程序结构的树:
├── 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>的反应路由器之外寻找方法,但似乎无法到达快车服务器。不确定这是否与我如何设置状态有关,或者它是否甚至与alt流量存储共享状态,或者这是否是状态的工作方式,或者我是否应该使用道具,但实际上,我只是在摸索文档,试图让POST请求脱离反应,进入快捷键。任何提示都将不胜感激!
发布于 2016-09-08 21:34:29
看起来,您需要防止默认事件触发(如果没有另外指定,表单提交默认为GET请求):
_onSubmit(e) {
e.preventDefault();
ProjectCreateStore.listen(this._onChange)
ProjectCreateActions.postProjects()
}https://stackoverflow.com/questions/39400490
复制相似问题