【发布时间】:2016-11-16 07:40:35
【问题描述】:
在第 22 分钟被卡住了。我正在使用自定义表单提交来避免在发布表单时遇到快速路由时重定向,但是,当不重定向时,我会丢失正在发送的数据。
document.getElementById('playerSearchForm').onsubmit = function(_event)
{
_event.preventDefault();
var XHR = new XMLHttpRequest();
XHR.addEventListener('load', function(event)
{
var res = JSON.parse(event.currentTarget.response);
});
XHR.addEventListener('error', function(event)
{
// error handling
});
XHR.open('POST', '/createGame');
var formData = new FormData();
formData.append('username', document.getElementById("usernameInput").value);
XHR.send(formData);
}
以上是我提交表单的方式。如果我在那里有_event.preventDefault(),那么我的页面不会重定向,这是预期的结果。然而,_event.preventDefault 也停止了在我的快速路线中req.body 上可用的用户名。如果我取出_event.preventDefault(),那么我可以访问req.body 中的用户名,但是页面会重定向。是否有另一种发送数据的方法而不是使用FormData,或者我可以调用 preventDefault 中的某些东西来确保数据可用?
【问题讨论】:
标签: javascript html express xmlhttprequest