2016-10-05 2 views
0

Я хотел бы знать, какой подходящий метод для обеспечения вызова JSONP. В этом случае мой URL-адрес JSONP указан ниже myRun, так как вы можете see in this link.Угловой 2 Http с jsonp

import { Injectable } from '@angular/core'; 
import { Http, Response } from '@angular/http'; 
import { Observable } from 'rxjs/Rx'; 

@Injectable() 
export class AppService { 
constructor(private http: Http){} 
    fetchData(){ 
    return this.http.get('http://dev.markitondemand.com/MODApis/Api/v2/Quote/jsonp?symbol=AAPL&callback=myRun').map(
     (res) => res.json() 
     ).subscribe(
     (data) => console.log(data) 
    ); 
    } 
} 

Я видел examples that useJSONP_PROVIDERS, но я считаю, что они являются устаревшими теперь. Таким образом, мне интересно, что представляет собой современный метод для получения запроса JSONP.

+1

проверить это сообщение http://stackoverflow.com/questions/36289495/how-to-make-a-simple-jsonp-asynchronous-request-in-angular-2 –

ответ

1

Это все та же вещь, что и в примерах, с которыми вы связаны. Но вместо использования JSONP_PROVIDERS вы импортируете JsonpModule так же, как и вы, HttpModule. Затем просто введите Jsonp, как в your linked example. Его использование не изменилось.

export class AppComponent { 
    constructor(jsonp:Jsonp) { 
    var url = 'https://accounts.google.com/logout&c=JSONP_CALLBACK'; 
    jsonp.request(url, { method: 'Get' }) 
    .subscribe((res) => { 
     (...) 
    }); 
    } 
} 

Все ранее упомянутых классов могут быть также импортированы из @angular/http.