【问题标题】:Dart Server with Web Components带有 Web 组件的 Dart 服务器
【发布时间】:2012-12-01 14:24:08
【问题描述】:

我想将用户注册表单中的用户信息传递给网络组件。这可能吗。如下所示:

app.addRequestHandler(
  (req) => req.method == 'POST' && req.path == '/newUser',
  (req, res) {
    ...
    input.onClosed = () {
      ...
      var user = new User();
      user.name = params["user[first_name]"];
      user.email = params["user[email]"];
      res.outputStream.writeString('<x-MyWebComponent data-value="User: user"></x-MyWebComponent>');
      res.outputStream.close();
    };
    ...
  }
);

【问题讨论】:

    标签: dart


    【解决方案1】:

    感谢您的提问!

    向 Web 组件发送数据与向任何网页发送数据没有什么不同。也就是说,您的网页或组件可以向服务器打开 AJAX(又名 XMLHttpRequest 又名 HttpRequest)请求并获取 JSON 数据。

    因为 web 组件需要被编译成普通的 JavaScript 和 HTML(直到功能登陆浏览器......即将推出!)你不能发回包含你的自定义元素的原始 HTML(就像你在你的例子中一样)。

    基本上,在您的服务器上创建一个处理程序,该处理程序在数据库中创建用户并发送包含用户详细信息的 JSON 响应。您的网页(或组件)将接收 JSON 响应,然后可以通过组件将其绑定到页面。

    这里有很多活动部件,所以我认为我们需要一个端到端的样本。同时,您可以执行以下操作:

    var user = new User();
    user.name = params["user[first_name]"];
    user.email = params["user[email]"];
    res.headers.add('Content-Type', 'application/json');
    res.outputStream.writeString(user.toJson());
    res.outputStream.close();
    

    这假设您向 User 类添加了 String toJson(); 方法。

    【讨论】:

    • 感谢 Seth,关于在客户端使用 user.toJson() 的任何指针?
    • 嗨 @basheps 幸运的是,在客户端使用 JSON 很容易,因为 Web 浏览器使用 JSON。在 Dart 中,只需使用 dart:json 库。或者,阅读 Chris Buckett 的这篇文章:dartlang.org/articles/json-web-service
    猜你喜欢
    • 2013-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-10
    • 1970-01-01
    相关资源
    最近更新 更多