9

学習を始めましたが、Web APIAngular2を使用してフォームを送信したいのですが、送信できません。http.post()

4

1 に答える 1

11

コンポーネント内では、submitイベントにリスナーをアタッチし、httpオブジェクトを利用して HTTP リクエストを実行するだけです。このオブジェクトは、以前にコンポーネントのコンストラクターに注入されました。

var Cmp = ng.core.
  Component({
    selector: 'cmp'
    template: `
      <form (submit)="submitForm()">
        <input [(ngModel)]="element.name"/>

        <button type="submit">Submit the form</button>
      </form>
    `
  }).
  Class({
    constructor: [ ng.http.Http, function(http) {
      this.http = http;
    }],

    submitForm: function() {
      var headers = new ng.http.Headers();
      headers.append('Content-Type', 'application/json');

      this.http.post('http://...', JSON.stringify(this.element), {
        headers: headers
      }).subscribe(function(data) {
        console.log('received response');
      });
    }
  });

HTTP_PROVIDERSアプリケーションをブートストラップするときに追加する必要があります。

document.addEventListener('DOMContentLoaded', function() {
  ng.platform.browser.bootstrap(Cmp, [ ng.http.HTTP_PROVIDERS]);
});

対応する plunkr は次のとおりです: https://plnkr.co/edit/Fl2pbKxBSWFOakgIFKaf?p=preview

お役に立てば幸いです、ティエリー

于 2016-01-29T16:12:00.587 に答える