博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ng2服务封装http,jsonp获取后台数据的方法
阅读量:5780 次
发布时间:2019-06-18

本文共 1096 字,大约阅读时间需要 3 分钟。

1、定义服务

import {Injectable} from "@angular/core";import {Http, Jsonp} from "@angular/http";import "rxjs/add/operator/map";@Injectable()export class HttpServer {  constructor(public jsonp: Jsonp, public http: Http) {  } /*  *   url: 服务器api接口地址  *   params: 传递参数对象  */  // get方法  httpGet(url, params) {    return this.http.get(url, {search: params}).map(res=>res.json);  }  // post方法  httpPost(url, params) {    return this.http.post(url, {search: params}).map(res=>res.json);  }  // 跨域请求  jsonpGet(url, params) {    return this.jsonp.get(url, {search: params}).map(res=>res.json());  }}

2、app.module.ts文件中引入服务

import {HttpServer} from "./http.server.ts";...providers: [HttpServer]...

3、组件中使用服务获取数据

...import {URLSearchParams} from "@angular/http";...// 使用服务// 设置参数var params = new URLSearchParams();params.set("callback", "JSONP_CALLBACK");// 调用jsonpGet方法,跨域请求数据httpServer.jsonpGet("http://localhost:3000/users", params).subscribe(res=> {  console.log(res);});

注意

1. 服务需要在constructor(public httpServer: HttpServer)参数中初始化, this.httpServer.httpGet()2. 服务有两种引入方式,如果在全局引入,那么组件中还要引入文件路径,不用写,providers:[]

转载地址:http://souyx.baihongyu.com/

你可能感兴趣的文章
Spring 的配置详解
查看>>
linux已经不存在惊群现象
查看>>
上位机和底层逻辑的解耦
查看>>
关于微信二次分享 配置标题 描述 图片??
查看>>
springcloud使用zookeeper作为config的配置中心
查看>>
校园火灾Focue-2---》洗手间的一套-》电梯
查看>>
css控制文字换行
查看>>
bzoj1913
查看>>
L104
查看>>
分镜头脚本
查看>>
链表基本操作的实现(转)
查看>>
邮件发送1
查看>>
[转] libcurl异步方式使用总结(附流程图)
查看>>
编译安装LNMP
查看>>
[转]基于display:table的CSS布局
查看>>
crm 02--->讲师页面及逻辑
查看>>
AS3.0 Bitmap类实现图片3D旋转效果
查看>>
Eigen ,MKL和 matlab 矩阵乘法速度比较
查看>>
带三角的面包屑导航栏(新增递增数字)
查看>>
Web应用程序安全与风险
查看>>