Angular4 jsonp请求回调

时间:2017-07-25 06:19:55

标签: angular jsonp zone

我正在将Angular 1应用程序迁移到Angular 4,有一个jsonp调用到我无法控制的端点。

在Angular 1应用程序中,它正在使用:

jsonpCallback: 'callback'

但无论请求中有什么回调,端点实际上都会以'回调'返回。 e.g。

callback({"result":"123456"})

我在Angular4中试过这个

    const searchParams = Object.assign({}, {
        callback: 'callback'
    }, callParams);
    const params = Object.keys(searchParams);
    if (params.length) {
        params.forEach((param: string) => searchConfig.set(param, searchParams[param]));
    }
    const options: RequestOptionsArgs = {
        search: searchConfig
    };

    this.jsonp.request(url, options)
    .subscribe((results) => {
        console.log(results);
    });

但是我在jsonp响应中得到错误“回调未定义”。

1 个答案:

答案 0 :(得分:0)

为了解决这个问题,我需要在进行API调用之前在窗口对象上声明回调。

        window.callback = function(data) {
            //Do stuff here
        }