我正嘗試使用Angular 2的HTTP.get()方法從本地主機發出Google Maps API JavaScript請求。在我的請求中,我需要添加標題,但我試圖執行此操作,但收到此錯誤通知:Angular 2:Google Maps API請求:不存在'Access-Control-Allow-Origin'標頭
https://maps.googleapis.com/maps/api/place/textsearch/json?query=Santa+Cruz&key=MY_KEY。 對預檢請求的響應未通過訪問控制檢查:否 請求的 資源上存在「訪問控制 - 允許來源」標頭。原因'http://localhost:51268'因此不允許 訪問。
我想要做的就是輸入一個城市名稱並將響應返回給JSON對象。有人能解釋我在這裏做錯了嗎? Web檢查上市
import {Injectable} from '@angular/core';
import {Http, Headers, RequestOptions} from '@angular/http';
import { Observable } from 'rxjs/Rx';
@Injectable()
export class SearchService {
dataHere: Object;
errorMessage: String;
constructor(private http: Http) { }
getPlaces(name: String): Observable<any> {
const url = "https://maps.googleapis.com/maps/api/place/textsearch/json?query=Santa+Cruz&key=MY_KEY";
let headers = new Headers({ 'Access-Control-Allow-Origin': '*','Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
return this.http.get(url, options)
.map(r => this.dataHere = r.json())
.catch((error:any) => Observable.throw(error.json().error));
}
private handleError(error: any): Promise<any> {
console.error('An error occurred', error); // for demo purposes only
return Promise.reject(error.message || error);
}
}
錯誤:
您可以下載[Chrome CORS擴展](https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=en)並使用滑動條,可以打開/關閉'Access-Control-Allow-Origin'。你的方式:整個網絡安全是關閉的。 – xmux