Angular的新手,它尝试使用Google Maps / Places API设置一个非常简单的应用程序。
我可以通过以下方式成功使用地理位置服务:
.controller('MainCtrl', [
'$scope',
'$http',
function($scope, $http){
$scope.userLocation = [];
$scope.currentLocation = function() {
$http({
method: 'GET',
url: 'https://www.googleapis.com/geolocation/v1/geolocate?key=xxx'
}).then(function successCallback(response) {
$scope.userLocation.push(response);
});
}
}])
问题: 当我尝试对他们的Places API进行类似的GET请求时-我收到CORS错误:
XMLHttpRequest cannot load https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=36.23…5.1458888&type=bar&key=xxx. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://0.0.0.0:3000' is therefore not allowed access.
问题: 我是否可以从Angular发出这些类型的请求,还是需要设置后端来进行该调用?
我尝试使用JSONP作为方法,该方法通过了CORS问题,但随后出现无法访问数据的问题。不知道它是否是无效的JSON …,但显示为Unexpected identifier :
,当我查看源代码时,对我来说似乎是非常好的数据:
{
"html_attributions" : [],
"results" : [
{
"geometry" : {
"location" : {
"lat" : 36.2388477,
"lng" : -115.1540073
},
},
"icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/restaurant-71.png",
"id" : "578bfba1f17b0c5fbdafd5b71600b50d3e95c1ca",
"name" : "Ruby Tuesday",
"opening_hours" : {
"open_now" : true,
"weekday_text" : []
},
您可以通过Google Maps JavaScript API中包含的库在客户端使用Places API。
请参考此页面以了解其工作方式:
https://developers.google.com/maps/documentation/javascript/places
否则,您必须创建后端服务器才能将请求发送到Google,并将响应传递给客户端代码。
希望能帮助到你!
问题内容: 我有一个基于@RestController和AngularJS的简单项目。我可以将Angular的GET请求发送到@RestController,但无法发送POST请求。我在浏览器控制台中出错: XMLHttpRequest无法加载http:// localhost:8080 / add 。Access-Control-Allow- Headers不允许请求标头字段Content-Ty
关于这个问题有很多讨论,但是没有一个对我有用。我有一个asp.net核心api 2.1与角7应用程序。 错误: “车队:1次访问位于的XMLHttpRequest”https://localhost:44354/api/test“起源”http://localhost:4200'已被CORS策略阻止:请求的资源上不存在'Access Control Allow Origin'标头。" 启动: 配置
我一直试图找到一个解决方案,在我的angular应用程序上启用cors,该应用程序由一个带有Slim API框架的PHP提供服务。
我有一个正确配置CORS的spring MVC API后端,当我尝试进行ajax调用时,我在chrome中遇到以下错误 XMLHttpRequest无法加载172.20.16.45:8082/Cuponza.请求被重定向到“172.20.16.45:8082/Cuponza/”,这对于需要预飞行的跨原点请求是不允许的。 我试着用标志-disable-web-security启动chrome,通过这
我有ASP。NET核心API及其在Angular 5中的应用。我在启动中添加了代码。cs启用cors并允许所有来源,但它仍然给了我一个错误 请求的资源上不存在“Access Control Allow Origin”标头。起源'http://localhost:4200因此,不允许访问。响应的HTTP状态代码为500。 下面是我的web api代码:
CORS在服务器上运行良好,并按预期工作。我尝试用angular HTTPClient向服务器的RESTAPI发送请求,但收到一个CORS错误。如果服务器上启用了CORS,为什么会出现此错误?这对客户来说不是很好吗?