我正在尝试访问需要基本授权的API。
使用Postman或Advanced Rest API工具,我可以获得响应。但是当我试图通过Angular 4 HttpClient访问时,我得到了这个例外:
login:1 XMLHttpRequest无法加载https://someUrl.com:4400/api/v1/login。对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许原点“http://localhost:4200”访问。响应的HTTP状态代码为405。
这是角度代码
@Injectable()
export class LoginService {
constructor(private http: HttpClient, @Inject('api') private api) {
}
login(post) {
let auth="Basic "+ btoa(post.username + ":" + post.password);
console.log(auth);
let headers = new HttpHeaders({'Content-Type': 'application/json'})
.set("authorization", auth);
console.log(headers);
return this.http.post(this.api + 'login',null,{
headers:headers
});
}
}