如何在Angular 2中创建一个简单的JSONP异步请求?

前端之家收集整理的这篇文章主要介绍了如何在Angular 2中创建一个简单的JSONP异步请求?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试将以下角度1代码转换为角度2:
$http.jsonp('https://accounts.google.com/logout');

它需要是一个JSONP请求来跳过CORS策略问题。

在所有这些突破性变化之后,角度2中的JSONP请求可以通过以下方式进行。

>在应用模块的定义文件中导入JSONP模块

import {JsonpModule} from '@angular/http';
@NgModule({
declarations: [
    //... List of components that you need.
],imports: [
    JsonpModule,//...
],providers: [
    //...
],bootstrap: [AppComponent]
})

将jsonp服务注入您的服务:

import {Jsonp} from '@angular/http';

@Injectable()
export class MegaSuperService {
   constructor(private _jsonp: Jsonp) {}
}

>使用“JSONP_CALLBACK”作为回调属性进行请求:

// inside your service
this._jsonp.get('/api/get?callback=JSONP_CALLBACK').map(data => {
// Do stuff.
});

>正如titusfx所建议的那样,为了映射函数工作,你需要导入,结果是一个Observable,只有默认定义,除了subscribe。您需要手动导入任何其他运算符,如:

import 'rxjs/add/operator/map';

或更一般

import 'rxjs/add/operator/';

就个人而言,我以前在测试版中有这个导入。但是我现在删除它,在Angular 2.0.2中,代码没有中断。这就是为什么这个步骤最初被省略了。如果地图方法未定义出现错误,那肯定有帮助。

猜你在找的Angularjs相关文章