2017-01-19 5 views
0

私はangular2でポストWebサービスを実装しようとしています。 私は郵便配達員とその働きによってURLにヒットしようとしました。しかし、角度で実装しようとしているとき、私は何の反応も得ていません。angular2を使用したイオン2でのポストWebサービスの実装

load(username, password) { 

     console.log(username," ", password); 
     let postData = {"username":username, "password" : password, 
       "userdeviceInfo": [{ 
       "deviceId": "APA91bGUZuKVbqur7Qq2gy2eyomWgXkIU5Jcmmtmgl4IGuzVzwiJVMZgAHj3Bx6yrnW0oEZlEtB9XdcR6AOpKyEMVSWwQ_UIfNX6T0iwq28hnufOhauVdTYZQSWWPAdDrdg58cjnL5T-", 
       "platform":"Android" 
          }]}; 

     //let body= JSON.stringify(postData); 

     //console.log("body---"+body) 

     this.headers = new Headers(); 
      this.headers.append("Content-Type", 'application/json'); 

      this.requestoptions = new RequestOptions({ 
       method: RequestMethod.Post, 
       url: this.url, 
       headers: this.headers, 
       body: JSON.stringify(postData) 
      }) 

    console.log("body---"+this.requestoptions) 

    return this.http.request(new Request(this.requestoptions)) 
       .map((res: Response) => { 
        if (res) { 

         console.log(res.json()); 
         return [{ status: res.status, json: res.json() }]; 
        }}) 
       .subscribe(res => this.data = res); 

私はrecievingてるのエラーがある:私は一種のここにこだわって

XMLHttpRequest cannot load "MY_URL". Response for preflight has invalid HTTP status code 500 

次 は私のコードサンプルです。誰かが私がどこに間違っているのか見つけるのを助けることができる?ここ

+0

'レスポンスが、これは私がそれを –

+0

で無効なHTTPステータスコード500'を持っていますサービスは正常に実行されています –

+0

私の取得を無効にすることにより、CORSの問題を取り扱う可能性がCORSの問題 –

答えて

0

は、POSTの例である:もちろん

rate(url: string, body: { value: number}) { 
    let headers = new Headers({ 'Content-Type': 'application/json' }); 
    let options = new RequestOptions({ headers: headers }); 

    return this.http.post(url, body, options).toPromise().then(
      response => response.json(), 
      err => err 
); 
} 

あなたが観測を使用するtoPromise()を削除することができ、これは、例えばアプリのです:)

これはあなたを助けることができると思います。

0

は、HTTPポストを作るためにこの方法を使用することができます:プリフライトのため

let headers = new Headers(); 
let body = {"username":username, "password" : password, 
       "userdeviceInfo": [{ 
       "deviceId": "APA91bGUZuKVbqur7Qq2gy2eyomWgXkIU5Jcmmtmgl4IGuzVzwiJVMZgAHj3Bx6yrnW0oEZlEtB9XdcR6AOpKyEMVSWwQ_UIfNX6T0iwq28hnufOhauVdTYZQSWWPAdDrdg58cjnL5T-", 
       "platform":"Android" 
          }]}; 

headers.append('content-type', 'application/json'); 
return this.http.post("theurl", '', { 
    body : JSON.stringify(body), 
    headers : headers 
}) 
.map(res => res.json()) 
.subscribe(data=>{ 

}, 
err=>{ 

}, 
()=>{ 

}) 
+0

。それは 'cors'と何か関係があります。私はチェックしました。あなたは 'CORS'を手助けできますか? –

+0

CORSの問題であれば、CORS拡張機能をインストールしてCORSを有効にすると動作します。また、モバイルアプリで処理したい場合は、CORSを扱うプラグインコードワットリストをインストールする必要があります。デフォルトでは、ionicの最新バージョンはこのプラグインをconfig.xmlに含み、それと一緒にアプリケーションをビルドします.. –

+0

また、console.logをチェックし、POSTリクエストを行う前にthis.urlの値をチェックします。これは500内部サーバーエラーを意味するエラー。 –

関連する問題