以下代码在Chrome中没有问题,但在Firefox和IE 11中,错误不允许触发发布请求。 所以服务器没有收到任何请求,错误在请求代码中。 我收到的错误不包含有用的信息。
后端启用了CORS,并且可以正常使用Chrome。
在IE 11中,错误是:
XMLHttpRequest: Network Error 0x2ef3, Could not complete the operation due to error 00002ef3.
方法handleError在控制台中返回
Response with status: 0 for URL: null
在Firefox中,错误是:
Response { _body=Event error, status=0, ok=false, more...}
login(username, password): Observable<boolean> {
let reqScopes: string[] = ["login.login", "invoices.read"];
let options = new RequestOptions({withCredentials:true });
return this.http.post(AppSettings.ApiEndpoint+'/login'+AppSettings.xdebug, JSON.stringify({ username: username, password: password,scopes:reqScopes}),options)
.map((response: Response) => {
// login successful if there's a jwt token in the response
let token = response.json() && response.json().token;
if (token) {
// set token property
this.token = token;
// store username and jwt token in local storage to keep user logged in between page refreshes
localStorage.setItem('webinfoUser', JSON.stringify({ username: username, token: token }));
// return true to indicate successful login
return true;
} else {
// return false to indicate failed login
return false;
}
})
.catch(this.handleError);
//.catch((error:any) => Observable.throw(error.json().error || 'Server error'));
}
private handleError(error: any) {
console.log( error);
return Observable.throw( error.status );
}