簡體   English   中英

Angular2,Ionic2發布到Web服務

[英]Angular2, Ionic2 post to web service

import {Page, Platform} from 'ionic-angular';
import { Http, Headers, Response, RequestOptions, HTTP_PROVIDERS} from 'angular2/http';
import { bootstrap } from 'angular2/platform/browser';
import { Component, Injectable, Inject } from 'angular2/core';
import 'rxjs/Rx';
import { CORE_DIRECTIVES, FORM_DIRECTIVES } from 'angular2/common';
import {Observable}     from 'rxjs/Observable';

@Page({
directives: [ CORE_DIRECTIVES, FORM_DIRECTIVES ],  
templateUrl: 'build/pages/getting-started/getting-started.html'
})

@Injectable()
export class GettingStartedPage {
    public platform;
    public networkState;
    private headers;
    private _apiUrl = 'http://172.16.2.115:3004/message'; 
    subject: string;
    message: string;
    comments: string;

    constructor(platform: Platform, public http: Http) {
        this.platform = platform;
        this.headers = new Headers();
        this.headers.append('Content-Type', 'application/x-www-form-urlencoded');
    }

    onSubmit(value) {
        this.send(value.subject, value.body);
    }

    send(subject, body)
    {
        var message = "subject=" + subject + "&body=" + body;

        let result = this.http.post(this._apiUrl,
            body, 
            {
                headers: this.headers
            }).map(res => {
                this.comments = res.json();
                });              

        this.send(subject, body).subscribe(res => {
            console.log(message);
            console.log(this._apiUrl);
        });

        return result;       
    }
}

我正在嘗試使用Ionic2和Angular2 beta創建一個移動應用程序。該應用程序將使用POST發送電子郵件到Rails Web服務。 Rails Web服務運行正常。 我似乎無法開始使用移動應用程序。

有誤會

   this.send(subject, body).subscribe(res => {
        console.log(message);
        console.log(this._apiUrl);
    });

會采用不同的方法

onSubmit(value) {
    this.send(value.subject, value.body)
    .subscribe(res => {
        console.log(message);
        console.log(this._apiUrl);
    });
}

send(subject, body)
{
    var message = "subject=" + subject + "&body=" + body;

    return this.http.post(this._apiUrl,
        body, 
        {
            headers: this.headers
        }).map(res => {
            this.comments = res.json();
        });              

}

您應該通過以下方式重構代碼:

onSubmit(value) {
    this.send(value.subject, value.body).subscribe(res => {
        console.log(message);
        console.log(this._apiUrl);
    });

}

send(subject, body)
{
    var message = "subject=" + subject + "&body=" + body;

    let result = this.http.post(this._apiUrl,
        body, 
        {
            headers: this.headers
        }).map(res => {
            this.comments = res.json();
        });              

    return result;       
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM