node.js - 发送node.js响应并在客户端进行处理

标签 node.js dart

我在 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/

相关文章:

node.js - Mongodb:如何执行子查询?

使用实例名称、端口和域的 Node.js 连接到 SQL Server

flutter - 适当的状态管理架构,以实现对项目的读/未读

android - flutter 深度链接在真实设备上不起作用

reflection - 在外部lib上使用可反射的dart

android - 如何解决这个 "Cannot enable MyLocation layer as location permissions are not granted"?

node.js - Express 4中中间件的顺序

javascript - 无法读取未定义的属性 'save'

jquery - 改进了使用正则表达式替换的性能

flutter - 如何在Dart/Flutter的同一类中获取默认值和参数化构造函数?