2016-07-13 20 views
1

@ angular2-rc1でhttp post操作を実行するサービスを1つ作成しました。 rc4にアップデートした後、Chromeでの動作が停止しました。つまりfirefoxで動作していましたが。
私はポストリクエストでデータを送信しようとしますが、そのデータはfirebug(chromeの要素を調べてください)に表示されていますが、リクエストではサーバーは空の文字列を取得しています。以下 はコードです:angular2-rc4 chromeとIEでhttp.postが動作しない

import {Injectable} from '@angular/core'; 
import {Http, Response, Headers, RequestOptions, BaseRequestOptions} from "@angular/http"; 
import {Observable} from 'rxjs/Observable'; 
import 'rxjs/Rx'; 
import 'rxjs/add/operator/map' 

@Injectable() 
export class HttpService { 
    constructor(private http: Http) { 
    } 

    login(url:string, data: string) { 
     let headers = new Headers({'Content-type': 'application/x-www-form-urlencoded; charset=UTF-8'}); 
     let options = new RequestOptions({headers: headers}); 
     return this.http.post(url, data, options); 
    } 

} 

コードは、このloginメソッドを呼び出すために使用されます。

this._httpService.login('rest/j_spring_security_check', 'j_username=user&j_password=pass').subscribe(
       data => this.authenticationSuccess(data), 
       error => this.authenticationFailure(error) 
      ) 

私は、Firefoxからログインしようとすると、サーバーが空になっているのに対し、サーバは、適切にユーザ名とパスワードを取得しています同じことがクロムで行われた場合は文字列、つまりie。 助けてください。

+0

解決策はこちらから入手できます:http://stackoverflow.com/questions/38390605/angular2-rc4-text- – Krishna

答えて

0

あなたは直接RC4を使用してこのようFormDataオブジェクトを使用するように試みることができる:

login(url:string, data: string) { 
    var body = new FormData(); 
    body.append('j_username', data.user); 
    body.append('j_password', data.pass); 

    return this.http.post(url, body); 
} 

またはURLSearchParamsクラス:

login(url:string, data: string) { 
    var body = new URLSearchParams(); 
    body.set('j_username', data.user); 
    body.set('j_password', data.pass); 

    return this.http.post(url, body); 
} 

このようloginメソッドを呼び出します。

httpService.login('rest/j_spring_security_check', { 
    user: 'user', pass: 'pass').subscribe(...); 
+0

私は認証にスプリングセキュリティを使用しています。この形式でリクエストデータを渡す必要があります。j_username = user&j_password = 1行に渡します。私がjson形式でデータを送ると、春のセキュリティはそれを読むことができません。 – Krishna

関連する問題