我在 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 获取服务器响应?
最佳答案
signupSubmit
点击似乎提交其<form>
。您可以使用以下命令阻止默认表单提交:
signupForm.onSubmit.listen((e) => e.preventDefault());
关于node.js - 发送node.js响应并在客户端进行处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21862190/