没有对交通API调用的CORS支持?

时间:2018-11-16 12:34:28

标签: here-api

我正在尝试使用javascript集成流量API并遇到问题,因为响应不包含CORS标头,所以我这样调用流量API:

fetch('https://traffic.api.here.com/traffic/6.3/incidents.json?bbox=38.74123075381228,-99.00329589843751;42.771211138625894,-94.010009765625&app_id=xx_appid&app_code=xx_appcode&c=US&lg=en&i18n=true&localtime=true&units=metric').then(x => console.log(x.json()));

如果我使用以下方法调用Places API:

fetch('https://places.cit.api.here.com/places/v1/discover/search?at=52.5044,13.3909&q=restaurant&app_id=oyncTDRmj660ffCKFjBD&app_code=1b5UNr1Z1vHiseGGj9zZoA&pretty&callback=myCallbackFunction&Accept-Language=de').then(x => console.log(x))

它会返回所有标题:

HTTP/1.1 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: http://localhost:63342
Access-Control-Expose-Headers: X-Test, X-Map-Viewport, X-Mobility-Mode, X- 
Accept-Encoding, X-Date, Authorization, Accept, Date, Accept-Encoding, User-Agent, Geolocation, Origin, Content-Type, DNT, Cache-Control, Last-Modified, Expires, Pragma, X-NLP-TID

有什么想法是我做错了什么还是有解决方法(不计算jsonp)?

2 个答案:

答案 0 :(得分:0)

您是否尝试过将CORS授权添加到.htaccess文件中的标头?

  1. 通过在.htaccess文件中添加允许对标头进行CORS授权: 标头设置访问控制允许来源“ *”
  2. 确保.htaccess文件位于Web服务器的根目录下。
  3. 重新启动您的Web服务器。

答案 1 :(得分:0)

我发现当app_id和app_code无效或未指定时,服务为我们返回了CORS错误。这是使用Javascript API而非ReST进行的,但值得检查。