问题描述: 在使用Angular 6进行开发时,当使用JSONP请求数据时,可能会遇到以下错误信息:Error: JSONP注入的脚本没有调用回调函数。
解决方法: 该错误通常是由于服务器端没有正确地调用回调函数导致的。以下是一些可能的解决方法:
callback({data: "example data"});
import { HttpClient, JsonpCallbackContext } from '@angular/common/http';
// ...
constructor(private http: HttpClient) {}
getData() {
const url = 'https://example.com/api/data?callback=callback';
return this.http.jsonp(url, 'callback');
}
确保服务器端允许跨域请求。在某些情况下,服务器可能会拒绝来自不同域的请求。可以在服务器端配置中启用跨域请求,以便允许来自其他域的请求。
如果以上解决方法都无效,可以尝试使用其他方法替代JSONP请求。例如,可以使用CORS(跨域资源共享)来实现跨域请求,或者使用代理服务器来转发请求。
请根据具体情况选择适合的解决方法,并进行相应的调整。