gpt4 book ai didi

调用 Bing map 位置 REST 方法时出现 Angular HttpClient 问题

转载 作者:太空狗 更新时间:2023-10-29 17:26:54 24 4
gpt4 key购买 nike

我有一个使用 Angular 4 Http 服务对 Bing map 的现有调用,它工作正常:

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}")

然后请求与preflight OPTIONS请求一起发送,bing maps显然拒绝了。

我试图观察请求而不是正文,请求文本响应,并强制 Accept header 为文本,但没有成功。

Http 请求的 header (有效):

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 请求的 header (不工作):

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 如此不同)。

Bing Maps V8 REST API 也可以使用 jsonp 调用参数调用:

 let url = '...base url and query params...&key={MyBingMapsKey}&jsonp=JSONP_CALLBACK';
this.httpClient.jsonp(url, 'JSONP_CALLBACK');

关于调用 Bing map 位置 REST 方法时出现 Angular HttpClient 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51560650/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com