【发布时间】:2016-07-13 21:03:02
【问题描述】:
我已经编写了一个服务来在@angular2-rc1 中执行http post 操作。更新到 rc4 后,它停止在 chrome 中工作,即虽然它在 firefox 中工作。
当我尝试通过发布请求发送数据时,它在请求中的萤火虫(检查铬元素)中显示数据,但服务器正在获取空字符串。
下面是代码:
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);
}
}
用于调用此登录方法的代码是:
this._httpService.login('rest/j_spring_security_check', 'j_username=user&j_password=pass').subscribe(
data => this.authenticationSuccess(data),
error => this.authenticationFailure(error)
)
当我尝试通过 Firefox 登录时,服务器正在正确获取用户名和密码,而如果通过 chrome 或 ie 完成相同操作,服务器将获取空字符串。 请帮忙。
【问题讨论】: