Javascript 如何使用Google Places API发出简单的get请求?

Javascript 如何使用Google Places API发出简单的get请求?,javascript,angularjs,google-maps,google-places-api,Javascript,Angularjs,Google Maps,Google Places Api,我已经为此工作了一段时间,我很沮丧。我只需要获取关于特定位置的简单数据 以下是我在Angular中使用的代码: 函数getGoogle($http,$sce){ var url=$sce.trustAsResourceUrl('https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJN1t_tDeuEmsRUsoyG83frY4&key=mykey'); var result=$http.jsonp(url,{js

我已经为此工作了一段时间,我很沮丧。我只需要获取关于特定位置的简单数据

以下是我在Angular中使用的代码:

函数getGoogle($http,$sce){ var url=$sce.trustAsResourceUrl('https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJN1t_tDeuEmsRUsoyG83frY4&key=mykey'); var result=$http.jsonp(url,{jsonpCallbackParam:'angular.callbacks.\u 0'})。然后(函数(数据){ 控制台日志(数据); }); } 函数配置($stateProvider,$locationProvider){ $stateProvider .州('sbucks'{ url:“/”, templateUrl:'app/app.html', 控制器:“AppCtrl作为应用程序”, 决心:{ 酷:谷歌 } }); $locationProvider.html5Mode(true); } 函数AppCtrl(酷){ var vm=这个; //console.log(cool); } 角度模块('sbucks'[ “ui.router”, “sbucks.santamonica”, “sbucks.纽约”, “sbucks.伦敦” ]) .config(配置) .controller('AppCtrl',AppCtrl)
;将$http服务注入到您的模块中

$http({
   method: 'GET',
   url: 'Your google places API URL'
}).then(function successCallback(response) {
   console.log(response.data);
}, function errorCallback(response) {

});
successCallback中的响应参数将包含以下信息

数据{string | Object}–使用转换函数转换的响应体

状态–{number}–响应的HTTP状态代码

headers–{function([headerName])}–Header getter函数

config–{Object}–用于生成请求的配置对象


statusText–{string}–响应的HTTP状态文本。

我以前尝试过,但一直遇到这种情况。“XMLHttpRequest无法加载。请求的资源上不存在'Access Control Allow Origin'标头。因此不允许访问源“”。在Google上,我允许'Authorized Javascript Origins'接受,但是仍然会遇到这个问题你犯第二个错误的原因是你的承诺被拒绝了,而你没有处理好这个原因。可以通过
回调中的第二个参数访问拒绝回调。然后
回调。在本例中,您得到了404,因此没有与请求的URL路径关联的API方法,或者请求引用了一个或多个未找到的资源。GET请求的$http方法是
$http.GET
,不是
$http.jsonp
。你到底为什么要设置
jsonpCallbackParam:'angular.callbacks.\u 0'
?不要从StackOverflow复制随机代码。永远不要使用你不懂的代码。这对你以后肯定不会有什么帮助,如果你被要求解释代码,充其量也会很尴尬。因为我在这里苦苦挣扎,并且真诚地试图弄明白这一点。所以我尝试了所有的选择。正如我在下面提到的,我从GET开始,但我一直得到“XMLHttpRequest无法加载映射。googleapis.com/maps/api/place/details/…请求的资源上不存在“Access Control Allow Origin”头。Origin“localhost:8080”;因此不允许访问。”我不知道如何使用Angular在客户端解决这个问题。