2017-07-25 3 views
0

Ich arbeite bei der Migration einer Angular 1 App zu Angular 4, es gibt einen jsonp Aufruf an einen Endpunkt den ich nicht kontrolliere.Angular4 jsonp Anfrage Rückruf

In der Angular 1 App es verwendet:

jsonpCallback: 'callback' 

Aber der Endpunkt kehrt tatsächlich mit 'Rückruf' egal was Rückruf in der Anfrage war. z.B.

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

Ich habe versucht, dies in 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); 
    }); 

Aber ich habe den Fehler auf der JSONP Reaktion "Rückruf nicht definiert ist".

Antwort

0

Um dies zu umgehen, musste ich Callback auf dem Fensterobjekt deklarieren, bevor Sie den API-Aufruf vornehmen.

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