Работаю над проектом 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()
}
}