Angular 数据请求的实现方法


Posted in Javascript onMay 07, 2018

使用 Angular 请求数据的时候,需要引入 HttpModule 模块,如果使用的 jsonp 模式的话,则需要另外引入 JsonpModule 模块

import { HttpModule, JsonpModule } from '@angular/http'

然后在当前模块中的 imports 内进行注册

imports: [
 HttpModule,
 JsonpModule
],

注册以后就可以在组件文件当中引入相对应的方法来进行数据请求了

import { Http, Jsonp } from '@angular/http'

然后在当前组件的构造函数当中进行注入以后就可以使用了

constructor(private http: Http, private jsonp: Jsonp) { }

使用如下,一个简单的 get 请求

// 进行注入,拿到相对应的方法
constructor(private http: Http, private jsonp: Jsonp) { }
public list: any = []
// 请求数据
getData() {
 let url = 'http://www.phonegap100.com/appapi.php?a=getPortalList&catid=20&page=1'
 let _this = this
 this.http.get(url).subscribe((data) => {
  _this.list = JSON.parse(data['_body'])['result']
  console.log(_this.list)
 })
}

前台进行渲染即可

<button (click)="getData()">get 请求数据</button>
<ul>
 <li *ngFor="let item of list">
  {{item.title}}
 </li>
</ul>

JSONP 请求数据

注意区分与 get 请求的区别,使用如下

// 请求数据
jsonpData() {
 let url = 'http://www.phonegap100.com/appapi.php?a=getPortalList&catid=20&page=1&callback=JSONP_CALLBACK'
 let _this = this
 this.jsonp.get(url).subscribe((data) => {
  _this.list = data['_body']['result']
  console.log(_this.list)
 })
}
// 渲染
<button (click)="jsonpData()">jsonp 请求数据</button>
<ul>
 <li *ngFor="let item of list">
  {{item.title}}
 </li>
</ul>

不同点

请求的 url 参数结尾必须要添加指定的回调函数名称 &callback=JSONP_CALLBACK

请求的方式变为 this.jsonp.get(url)

请求后得到的数据格式不统一,需要自行进行调整

POST 请求

与 GET 的请求方式有些许不同,首先需要引入请求头 { Headers }

import { Http, Jsonp, Headers } from '@angular/http'

然后来对请求头进行定义,需要先实例化 Headers

private headers = new Headers({'Content-Type': 'application/json'})

最后在提交数据的时候带上 Headers 即可

postData() {
 let url = 'http://localhost:8080/login'
 let data = {
  "username": "zhangsan",
  "password": "123"
 }
 this.http.post(
  url,
  data,
  {headers: this.headers}
 ).subscribe((data) => {
  console.log(data)
 })
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
基于jquery编写的横向自适应幻灯片切换特效的实例代码
Aug 06 Javascript
jquery幻灯片插件bxslider样式改进实例
Oct 15 Javascript
jquery实现在光标位置插入内容的方法
Feb 05 Javascript
基于javascript如何传递特殊字符
Nov 30 Javascript
jQuery实现进度条效果代码
Dec 17 Javascript
jQuery基本过滤选择器用法示例
Sep 09 Javascript
微信小程序实战之顶部导航栏(选项卡)(1)
Jun 19 Javascript
详解vue渲染函数render的使用
Dec 12 Javascript
Material(包括Material Icon)在Angular2中的使用详解
Feb 11 Javascript
判断JavaScript中的两个变量是否相等的操作符
Dec 21 Javascript
vue实现下载文件流完整前后端代码
Nov 17 Vue.js
详解JS WebSocket断开原因和心跳机制
May 07 Javascript
JavaScript数组去重算法实例小结
May 07 #Javascript
JavaScript求一组数的最小公倍数和最大公约数常用算法详解【面向对象,回归迭代和循环】
May 07 #Javascript
详解VUE-地区选择器(V-Distpicker)组件使用心得
May 07 #Javascript
JavaScript实现的DOM树遍历方法详解【二叉DOM树、多叉DOM树】
May 07 #Javascript
Vue 实现树形视图数据功能
May 07 #Javascript
JavaScript 跨域之POST实现方法
May 07 #Javascript
ES6关于Promise的用法详解
May 07 #Javascript
You might like
PHP多文件上传实例
2015/07/09 PHP
Symfony2获取web目录绝对路径、相对路径、网址的方法
2016/11/14 PHP
Laravel框架Eloquent ORM删除数据操作示例
2019/12/03 PHP
基于Jquery的标签智能验证实现代码
2010/12/27 Javascript
Javascript 判断是否存在函数的方法
2013/01/03 Javascript
解析使用js判断只能输入数字、字母等验证的方法(总结)
2013/05/14 Javascript
js图片处理示例代码
2014/05/12 Javascript
关于Javascript加载执行优化的研究报告
2014/12/16 Javascript
js获取页面description的方法
2015/05/21 Javascript
javascript最基本的函数汇总
2015/06/25 Javascript
jquery点击缩略图切换视频播放特效代码分享
2015/09/15 Javascript
JS onkeypress兼容性写法详解
2016/04/27 Javascript
JS实现HTML表格排序功能
2016/08/05 Javascript
微信小程序进行微信支付的步骤昂述
2016/12/01 Javascript
jq checkbox 的全选并ajax传参的实例
2017/04/01 Javascript
vue的Virtual Dom实现snabbdom解密
2017/05/03 Javascript
vue中各组件之间传递数据的方法示例
2017/07/27 Javascript
JavaScript常见JSON操作实例分析
2018/08/08 Javascript
Vue实现一个无限加载列表功能
2018/11/13 Javascript
js实现中文实时时钟
2020/01/15 Javascript
微信小程序实现二维码签到考勤系统
2020/01/16 Javascript
Vue实现圆环进度条的示例
2021/02/06 Vue.js
Python实现改变与矩形橡胶的线条的颜色代码示例
2018/01/05 Python
Python基于多线程实现ping扫描功能示例
2018/07/23 Python
python批量图片处理简单示例
2019/08/06 Python
keras 指定程序在某块卡上训练实例
2020/06/22 Python
python获取命令行参数实例方法讲解
2020/11/02 Python
Under Armour安德玛法国官网:美国高端运动科技品牌
2018/06/29 全球购物
skyn ICELAND官网:冰岛成分天然护肤品
2020/08/24 全球购物
工程班组长岗位职责
2013/12/30 职场文书
英语专业求职信
2014/07/08 职场文书
民族学专业职业生涯规划范文:积跬步以至千里
2014/09/11 职场文书
校长个人总结
2015/03/03 职场文书
活动主持人开场白
2015/05/28 职场文书
入团申请书格式
2019/06/20 职场文书
南阳市白酒市场的调查报告
2019/11/08 职场文书