【问题标题】:How to submit a form using angular 2 http post function using javascript?如何使用javascript使用angular 2 http post函数提交表单?
【发布时间】:2016-01-29 15:47:12
【问题描述】:

我已经开始学习 Angular2,但我想使用 http.post() 向我的 Web API 提交表单,但我不能。

【问题讨论】:

标签: javascript angular angular2-http


【解决方案1】:

在您的组件中,您只需在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

希望对你有帮助 蒂埃里

【讨论】:

  • 谢谢兄弟...它正在工作...实际上我正在学习angular 2 并且在javascript 上没有太多关于anguler 2 的资源所以我遇到了很多我无法解决的问题.
  • 不客气!我知道 Angular2 团队致力于此,但这一级别的最佳实践似乎还不够清楚 ;-)
  • 如果你不介意你知道我在哪里学习基本的angular 2javascript 语言吗?没有 [angular.io] 网站
  • 我会引用以下两个:blog.thoughtram.io/angular/2015/05/09/…blog.thoughtram.io/angular/2015/07/06/…。否则,您可以直接在 angular2-all.umd.dev.js 文件中查看。您会注意到基于 TypeScript 的示例也可以帮助您,因为您在 JavaScript 中有相同的概念...
猜你喜欢
  • 2015-08-05
  • 2012-11-03
  • 2010-11-19
  • 2016-06-24
  • 1970-01-01
  • 2012-04-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多