잠시 동안 로컬 앵글 빌드를 HTTPS와 함께 사용하도록했습니다 (배울 수 있고 마지막으로 SSL 문제가 발생하지 않을 것임을 확신 할 수 있음). 앱). 그러나 성공하지 못한 후에는 다시 ng serve
을 사용했지만 모든 AJAX 요청이 실패했습니다. Slim API를 제공하는 로컬 VM을 실행하고 CORS 설정을했습니다. 그러나, 나는 다음과 같은 오류보기 시작 : 각도 설정 HTTP 요청 원점이 null로
The 'Access-Control-Allow-Origin' header has a value 'http://gamersplane.local' that is not equal to the supplied origin. Origin 'null' is therefore not allowed access.
네트워크 탭에서 전화를보고, 나는 기원 헤더가 실제로 null 인 것을보고, 내 코드를 통해보고, 나는 기원 헤더로 혼란을하지 않습니다 (당신이 할 수 있는지 확실하지 않은?).
Authorization
헤더를 설정했는데 그게 전부입니까? 내 API 서비스는 다음과 같습니다.
private addToken(headers: HttpHeaders) {
let token = localStorage.getItem('token');
if (token) {
headers = headers.set('Authorization', 'Bearer ' + token);
}
return headers;
}
private constructParams(data?: Object) {
// Object.keys(data).reduce((params, key) => params.set(key, data[key]), new HttpParams());
let params = new HttpParams();
for (let key in data) {
if (typeof data[key] !== 'object') {
params = params.set(key, data[key]);
} else {
for (let oKey in data[key]) {
params = params.set(key + '[' + oKey + ']', data[key][oKey]);
}
}
}
return params;
}
get<T = any>(path: string, data?: Object): Observable<T> {
let headers = new HttpHeaders();
headers = this.addToken(headers);
return this.http
.get<T>(environment.apiDomain + path, {
headers: headers,
params: this.constructParams(data)
});
}
이것은 각도와 관련이 없습니다. 서버는 예상 된 헤더로 응답해야하며, 그러면 브라우저는 요청을합니다 (그렇지 않으면 거부합니다). –
Angular 관련이 아닌 요청 원점을 null로 설정하는 방법은 무엇입니까? CORS 비행 전 응답에 의해 제어되지 않습니까? – RhoVisions