谢谢!长期极端的googler,首先是SO问题。我一直在为解决这个问题而大肆渲染,并且尚未找到解决方案。
我正在尝试通过fetch
POST
请求将表单数据从react发送到express api。我通过GET
成功地使用了通过商店和来源fetch
api数据的助焊剂操作,并且我已成功地在快速方面存储了POST
个请求;但每当我提交表单并发送POST
请求时,看起来似乎react-router正在将查询添加到hashHistory
。
screencap of request handled by react-router
这里是前端反应和后端快递的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
请求得到反应并进入快递的文档中摸索。任何提示都会非常感激!
答案 0 :(得分:1)
看起来你需要阻止触发默认事件(如果没有另外指定,表单提交默认为GET
请求):
_onSubmit(e) {
e.preventDefault();
ProjectCreateStore.listen(this._onChange)
ProjectCreateActions.postProjects()
}