without script not jsonpclientmodule installed injected example did attempted angular typescript callback jsonp commonjs

script - jsonp angular 6



UnEdge ReferenceError:__ng_jsonp____req0_finished no está definido en (2)

Resolví este error desde la versión 2.3.1 de Angular. El error ocurre en la versión 2.4.X.

"@angular/common": "~2.3.1", "@angular/compiler": "~2.3.1", "@angular/core": "~2.3.1", "@angular/forms": "~2.3.1", "@angular/http": "~2.3.1", "@angular/platform-browser": "~2.3.1", "@angular/platform-browser-dynamic": "~2.3.1", "@angular/router": "~3.3.1",

Tengo una aplicación angular y estoy usando JSONP también.

Este es mi servicio:

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); } }

Y obtengo este error:

Unbeught ReferenceError: __ng_jsonp____req0_finished no está definido en los productos? Q = iphone & connectid = XXXXXXXXXX & programs = 12011 & callback = __ ng_jsonp ____ req0_finished: 1

(anónimo) @ products? q = iphone & connectid = XXXXXXXXXXXX & programs = 12011 & callback = __ ng_jsonp ____ req0_ finished: 1 common.js: 143

Unkeught TypeError: no se puede leer la propiedad ''apply'' de null en globalOnerror (common.js: 143)

globalOnerror @ common.js: 143

productService.ts: 29 200 - Ok

¿Cómo resolver eso?


Aquí está mi solución:

set a variable:times export class WikipediaService { constructor(private jsonp: Jsonp) { this.times=0;} search (term: string) { let wikiUrl = ''http://en.wikipedia.org/w/api.php''; let params = new URLSearchParams(); params.set(''search'', term); // the user''s search value params.set(''action'', ''opensearch''); params.set(''format'', ''json''); params.set(''callback'', `__ng_jsonp__.__req${this.times}.finished`); this.times=this.times+1; // TODO: Add error handling return this.jsonp .get(wikiUrl, { search: params }) .map(response => <string[]> response.json()[1]); } }