2

我正在尝试访问需要基本授权的 API。

使用 Postman 或 Advanced Rest API Tool,我能够得到响应。但是,当我尝试通过 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
      });
    }
}
4

0 回答 0