6

ユーザー登録フォームからWebコンポーネントにユーザー情報を渡したいのですが。これは可能ですか。以下のようなもの:

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();
    };
    ...
  }
);
4

1 に答える 1

5

質問ありがとうございます!

Webコンポーネントにデータを送信することは、他のWebページにデータを送信することと同じです。つまり、WebページまたはコンポーネントはサーバーへのAJAX(別名XMLHttpRequest、別名HttpRequest)要求を開き、JSONデータを取り戻すことができます。

WebコンポーネントはバニラJavaScriptとHTMLにコンパイルする必要があるため(機能がブラウザーに表示されるまで...間もなく登場します)、カスタム要素を含む生のHTMLを返送することはできません(例のように)。

基本的に、データベースにユーザーを作成し、ユーザーの詳細を含むJSON応答を送信するハンドラーをサーバー上に作成します。Webページ(またはコンポーネント)は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();

String toJson();これは、Userクラスにメソッドを追加したことを前提としています。

于 2012-12-02T19:11:02.610 に答える