这是service.ts代码。我正在使用服务器端REST API进行身份验证 用户名和密码。即使在服务器端存在CORS之后也是如此 错误仍然存在。如果有人知道我在做什么,我会帮助我 提前致谢。
import { Injectable } from '@angular/core';
import { Http, Headers, Response } from '@angular/http';
import { Observable } from 'rxjs/Rx';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import 'rxjs/add/observable/throw';
@Injectable()
export class Service {
constructor(private http: Http) { }
authenticate(model) {
var creds = "name=" + model.email + "&password=" + model.password;
console.log(creds)
var headers = new Headers();
headers.append('Content-Type', 'application/json');
return new Promise(resolve => {
this.http.post('http://sample.sample.com/api/authenticate', creds, {headers: headers}).subscribe(data => {
if(data.json().success){
resolve(true);
}
else
resolve(false);
});
});
}
}
答案 0 :(得分:1)
var creds = {"name":model.email,"password" : model.password};
您需要传递这样的数据。
this.http.post('http://sample.sample.com/api/authenticate', JSON.stringify(creds), {headers: headers}).subscribe(data => {
答案 1 :(得分:0)
您需要在服务器/ API中启用CORS,当未启用CORS时会发生此错误。