【发布时间】:2018-08-19 01:13:49
【问题描述】:
我想从我的 Angular 前端调用一个 Rest API,但我面临 Access control origin 的权限问题
这是我的前端代码
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { HttpClient, HttpHeaders } from '@angular/common/http';
var httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/vnd.onem2m-res+json;ty=4',
'Accept': 'application/json',
'X-M2M-RI': '9900001',
'X-M2M-Origin': 'C7AACE9CB-258b9773',
'Authorization': 'Basic QzdBQUNFOUNCLTI1OGI5NzczOlRlc3RAMTIz',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET,PUT,POST,DELETE,OPTIONS',
'Access-Control-Allow-Headers': 'Content-Type, Authorization, Content-
Length, X-Requested - With'
}
)
};
@Injectable()
export class ApiService {
constructor(private http: HttpClient) { }
fetch_latest_data(): Observable<any> {
return this.http.get("http://168.87.87.213:8080/davc/m2m/HPE_IoT/ 0000acfffe6f290b/default/latest", httpOptions);
}
}
我从 Angular 的前端发出这个请求,我没有使用任何后端,例如 node 或 express,请告诉我我可以用这种方式发出请求是否可行,如果可以,请帮忙我来解决上述问题
【问题讨论】:
-
从 Angular 发送 CORS 标头将无效。您是否可以修改
http://168.87.87.213:8080/以返回 CORS 标头? -
“我没有为此使用任何后端,例如 node 或 express”:你能澄清一下吗?如果不去后端,其余的调用会去哪里?
-
我正在从客户端传递标头,但它总是给我 401 unauthorize 错误