2
post
を作成しようとしていますが、provider
にデータを送信できません。角度2のPOSTを実行するとエラー401
私は情報を受け取るページで正しく表示することができますが、プロバイダに送信しようとするとundefined
または空の結果になります。
また、エラーが表示されます。OPTIONSます。http://my.url/api/todo 401(無許可)とキャッチされない(約束で):ステータス応答:URL 0:ヌル
をmodal.ts
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { ReviewService } from '../../providers/review-service';
@Component({
selector: 'page-modal',
templateUrl: 'modal.html'
})
export class ModalPage {
private url: string = "http://my.url";
pessoa = [];
constructor(private _service: ReviewService) { }
peopleForm() {
console.log(this.pessoa); // Aqui eu consigo pegar as informações
this._service.novo(this.pessoa).then(res => {
console.log("Enviou para o provider");
})
}
}
レビュー-service.ts
import { Injectable } from '@angular/core';
import { Http, Headers } from '@angular/http';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/toPromise';
@Injectable()
export class ReviewService {
private url = 'http://my.url/post';
private handleError(error: any): Promise<any> {
console.error('An error occurred', error);
return Promise.reject(error.message || error);
}
private headers = new Headers({'Content-Type': 'application/json'});
constructor(public http: Http) { }
novo(pessoa: Array<string>) {
console.log("Exibir o que recebeu: " + pessoa); // Aqui me retorna undefined ou vazio
return this.http
.post(this.url, JSON.stringify(pessoa), {headers: this.headers})
.toPromise()
.then(res => res.json().data)
.catch(this.handleError);
}
}
が見える、あなたのコードは、1つの理由でそのTODOサービスにアクセスすることを許可されていないようです(それはいくつかのことがあります)。角度2はフラットタイヤ、空のガスタンク、または木との衝突にかかわらず、(「見ることができる限り」、「プロミスのキャッチされていないエラー」をフラストレーションで表示します。だから私は根本的な問題としてそれに焦点を当てません。 –
ネットワークログを参照してください。クロスドメインアクセスがサーバー側で正しくセットアップされていないようです。 OPTIONSの呼び出しは成功するはずです。 – Chandermani