调用Bing Maps Locations REST方法时出现Angular HttpClient问题
发布时间:2020-12-17 07:12:05 所属栏目:安全 来源:网络整理
导读:我现在已经调用了使用Angular 4 Http服务制作的Bing Maps,它正常工作: this.http.get("{absolute URL of Bing Maps REST Locations,with options and key}") 我正在尝试更改调用以使用Angular 4.3中引入的HttpClient服务,但在尝试相同的代码时: this.httpC
我现在已经调用了使用Angular 4 Http服务制作的Bing Maps,它正常工作:
this.http.get("{absolute URL of Bing Maps REST Locations,with options and key}") 我正在尝试更改调用以使用Angular 4.3中引入的HttpClient服务,但在尝试相同的代码时: this.httpClient.get("{absolute URL of Bing Maps REST Locations,with options and key}") 然后请求与预检OPTIONS请求一起发送,而bing map显然拒绝它. 我试图观察请求而不是正文,请求文本响应,并强制Accept标头文本,但没有成功. Http请求的标头(工作): Accept: application/json,text/plain,*/* Origin: http://localhost:4200 Referer: http://localhost:4200/ User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/67.0.3396.99 Safari/537.36 HttpClient请求的标头(不工作): Access-Control-Request-Headers: authorization Access-Control-Request-Method: GET Origin: http://localhost:4200 User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/67.0.3396.99 Safari/537.36 有关为什么HttpClient请求与Http请求如此不同的任何想法?如何强制HttpClient跳过预检OPTIONS请求?我错过了什么吗? 在此先感谢您的帮助 解决方法
我终于找到了一个解决方案(虽然我没有发现为什么HttpClient在使用默认设置构建请求时与Http的行为有很大不同).
也可以使用jsonp调用参数调用Bing Maps V8 REST API: let url = '...base url and query params...&key={MyBingMapsKey}&jsonp=JSONP_CALLBACK'; this.httpClient.jsonp(url,'JSONP_CALLBACK'); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |