Angular 12 Httpclient jsonp - 如何传递自定义回调参数?

Posted

技术标签:

【中文标题】Angular 12 Httpclient jsonp - 如何传递自定义回调参数?【英文标题】:Angular 12 Httpclient jsonp - how to pass custom callback parameter? 【发布时间】:2021-11-04 18:15:49 【问题描述】:

Angular 12 - Httpclient jsonp - 如何传递自定义回调参数?

这是完整的应用程序 -> https://stackblitz.com/edit/angular-ivy-2zg5yt?file=src/app/geolocation.service.ts

geolocation-service.ts

import  Injectable  from '@angular/core';
import  Observable  from 'rxjs';
import  HttpClient  from '@angular/common/http';

@Injectable(
  providedIn: 'root'
)
export class GeolocationService 
  constructor(private httpClient: HttpClient) 

  getLocation(): Observable<any> 
    return this.httpClient
      .jsonp<any>('https://geolocation-db.com/jsonp', 'callback')
      .pipe();
  

给出以下错误:

如何将回调参数值更改为 - https://geolocation-db.com/jsonp?callback=callback 但角度默认为https://geolocation-db.com/jsonp?callback=ng_jsonp_callback_1

【问题讨论】:

【参考方案1】:

原来这在 Angular Httpclient jsonp 实现中不是问题。相反,这是https://geolocation-db.com/jsonp 中的一个问题。它不会动态更新回调函数名称。

同样的例子就像http://ip-api.com/json 的魅力

【讨论】:

以上是关于Angular 12 Httpclient jsonp - 如何传递自定义回调参数?的主要内容,如果未能解决你的问题,请参考以下文章

Angular 6获取带有httpclient问题的响应标头

Angular 6 和 Spring boot - 无法使用简单的 HttpClient 调用获取数据

Angular6 - GET net::ERR_CONNECTION_REFUSED 的 HttpClient 错误处理

当我在 HttpInterceptor 类中注入使用 HttpClient 的服务时,Angular 6 进入循环依赖的无限循环

为啥 Angular 将 Observable 用于 HttpClient?

Angular:如何扩展 HttpClient?