【发布时间】:2019-05-26 22:08:57
【问题描述】:
从事 Angular 6 项目并尝试访问公共 API,因此我需要使用 JSONP 来绕过 CORS。我的代码出现以下错误: “错误:JSONP 注入脚本未调用回调”。 我认为是回调参数的名称有问题。
我在这里和 Github 上花了很多时间研究类似的问题,最值得注意的是:https://github.com/angular/angular/issues/8153 并尝试将 JSONP_CALLBACK 替换为:
ng_jsonp.__req${this.times}.finished
__ng_jsonp____req6_finished
完全省略回调参数
但我还没有找到成功。
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { map } from "rxjs/operators";
export class CoursesAPIService {
constructor(private http: HttpClient) {}
getData() {
var url = 'http://web-app.usc.edu/web/soc/api/classes/?callback=JSONP_CALLBACK'
console.log("calling: " + url)
return this.http.jsonp(url, "callback")
.pipe(map(data => {
console.log("Inside map")
console.log(data)
})
).subscribe()
}
}
【问题讨论】:
标签: angular angular6 jsonp angular-httpclient