我正在尝试使用AngularJS的$ http提供程序来创建对Google Map API的请求。我一直收到错误消息:
use 'strict';
if (!headersObj) headersObj = parseHeaders(headers);
if (name) {
return headersObj[lowercase(name)] || null;
}
return headersObj;
}
我在这里创建了一个例子: http://jsfiddle.net/omniphx/dkagwpu0/16/
对Github API的请求将成功,但对Google地图API的请求将失败。无法弄清楚我可能会遗漏什么。两者似乎都输出JSON格式,并且这两个URL在我的浏览器中都能正常工作。
任何人都知道导致Google Maps API失败的原因是什么?
答案 0 :(得分:3)
请求本身并不完全失败。 您遇到了经典的CORS问题。
在控制台中找到XMLHttpRequest cannot load http://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=Montreal&sensor=false. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://fiddle.jshell.net' is therefore not allowed access.
。
Github标题中有Access-Control-Allow-Origin:*
标题,而googleapis没有任何此类标题。您可以阅读更多相关信息here