我在node.js中有一个处理用户注册的服务器。 当有人试图注册时,我首先检查我的数据库中是否已经存在引入的电子邮件,如果没有,我会发回一条回复说该电子邮件已被使用。
问题在于,当我在浏览器收到响应时发送带有response.write()
的响应时,它会根据响应文本替换所有网页,而我想要的是使用该响应来显示旁边的消息注册页面中的表格。
我还希望通过Dart事件侦听器获取响应,以便客户端知道该电子邮件正在使用中并且可以显示该消息。我使用Dart发出HTTP请求的代码如下:
signupSubmit.onClick.listen((e) {
var req = new HttpRequest();
req.onReadyStateChange.listen((e) {
if (req.readyState == HttpRequest.DONE) {
print('Data submitted!');
}
});
req.open('POST', signupForm.action);
req.send(JSON.encode(serializeForm(signupForm)));
});
serializeForm(FormElement form) {
var data = {};
form.querySelectorAll('input,select').forEach((Element el) {
if (el is InputElement)
data[el.name] = el.value;
});
return data;
}
那么如何发送我可以在客户端处理的响应呢? 如何通过Dart获得服务器响应?
答案 0 :(得分:1)
signupSubmit
点击似乎提交了<form>
。您可以使用以下命令阻止默认表单提交:
signupForm.onSubmit.listen((e) => e.preventDefault());