微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在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中,代码没有中断。这就是为什么这个步骤最初被省略了。如果地图方法未定义出现错误,那肯定有帮助。

原文地址:https://www.jb51.cc/angularjs/144101.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐