gpt4 book ai didi

Angular jsonp 调用

转载 作者:行者123 更新时间:2023-12-04 02:03:45 26 4
gpt4 key购买 nike

如何通过新的 Angular HttpClientModule 进行 jsonp 调用?

我看到有一个 HttpClient.jsonp 方法,但是从文档中我不太清楚如何设置 HttpClientJsonpModule 拦截器。我不确定 JsonpCallbackContext 应该来自哪里?

https://angular.io/api/common/http/HttpClientJsonpModule

编辑:仅添加 HttpClientJsonpModule 会导致以下错误 -

Refused to execute script because its MIME type ('application/json') is not executable

最佳答案

为了让 JSONP 在 Angular (v4.3+) 中工作,你需要将它添加到你的 AppModule

import { HttpClientJsonpModule } from '@angular/common/http';
@NgModule({
imports: [ BrowserModule, HttpClientJsonpModule ],
bootstrap: [ AppComponent ]
})
export class AppModule { }

然后在你的服务或组件中

private WIKIPEDIA_URL = 'https://en.wikipedia.org/w/api.php';

const url = searchUrl(term, this.WIKIPEDIA_URL);
this.http.jsonp(url, 'callback')

function searchUrl(term, base) {
let params = new HttpParams()
.append('action', 'opensearch')
.append('search', encodeURIComponent(term))
.append('format', 'json');
return `${base}?${params.toString()}`;
}

根据维基百科搜索的需要添加了一些参数。

关于 Angular jsonp 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45273738/

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