Лучшее решение - вернуть @ angular / http до версии 2.4.5, тогда в вашем коде нет обходного пути. и когда ошибка устранена, вы можете вернуться к последней версии.

я есть приложение Angular, и я также использую JSONP.

Это мой сервис:

import { Injectable } from '@angular/core';
import { Http, Response, Headers, RequestOptions } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import { Page } from './page';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import { Jsonp } from '@angular/http';

@Injectable()
export class ProductService {

    private urlPage = 'http://api.zanox.com/json/2011-03-01/products?q=iphone&connectid=XXXXXXXXXXXX&programs=12011&callback=JSONP_CALLBACK';

    constructor(private _jsonp: Jsonp) { }

    getPage(): Observable<Page> {
        return this._jsonp.get(this.urlPage).map(this.extractData).catch(this.handleError);
    }

    private extractData(res: Response) {
        let body = res.json();
        return body || {};
    }

    private handleError(error: any) {
        let errMsg = (error.message) ? error.message :
            error.status ? `${error.status} - ${error.statusText}` : 'Server error';
        console.error(errMsg);
        return Observable.throw(errMsg);
    }

}

И я получаю эту ошибку:

Uncaught ReferenceError: __ng_jsonp____req0_finished не определено в продуктах? Q = iphone & connectid = XXXXXXXXXX & Programs = 12011 & CallBack = __ ng_jsonp ____ req0_finished: 1

(анонимно) @ products? q = iphone & connectid = XXXXXXXXXXXX & Programs = 12011 & CallBack = __ng_jsonp ____ req0_finished: 1 common.js: 143

Uncaught TypeError: Невозможно прочитать свойство 'apply' для null в globalOnerror (common.js: 143)

globalOnerror @ common.js: 143

productService.ts: 29 200 - ОК

Как это решить?

Ответы на вопрос(2)

Ваш ответ на вопрос