javascript - Angular 8 jsonp 回调未调用

标签 javascript http jsonp angular8

我正在使用 Angular 8 和 HttpClientJsonpModule。这是我的自定义获取函数:

public fetch(): Observable<any> {
    // This url has been obfuscated but you get the gist. This is the expected format so I can't alter the string
    const url = 'http://exampleurl:6000/GetSomeData(inputParams=@test1)?@test1={hasData=true}';

    return this.http.jsonp(url, 'callback')
        .pipe(
            map(response => {
               // always returns null
               console.log(response);
            })
        );
}

当我调用 this.fetch() 时,总是返回以下错误:

JSONP injected script did not invoke callback.

并且响应始终为空。我是否遗漏了某个步骤?

最佳答案

您没有在请求中提供回调。在下面的示例中,提供回调的查询参数是 c (它实际上取决于服务)。您始终需要为此类参数提供 JSONP_CALLBACK 值。

const url = 'http://exampleurl:6000/GetSomeData(inputParams=@test1)?callback=JSONP_CALLBACK&@test1= {hasData=true}';

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

相关文章:

javascript - Highcharts:悬停时将数据标签显示为相对值(百分比)

javascript - Cordova iOS 关于当前位置的通知

json - 从 Symfony2 Controller 返回基于 “Accept: application/json” 的 JSON,而不修改每个 Controller 操作

Angular 7 - 在单元测试中捕获 HttpErrorResponse

ajax - JSONP 帮助(无 jQuery)

php - 在 Javascript 中捕获表单响应?

javascript - 元素在拖动后变得随机不可调整大小

php - 如何将 http 请求作为 curl 帖子?

javascript - 使用 .getJSON 的 JSONP 返回未定义

jsonp - 如何安全地将 script-src 与已知的 JSONP 端点主机(如 syndication.twimg.com)结合起来?