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 相关文章推荐
提高代码性能技巧谈—以创建千行表格为例
Jul 01 Javascript
js对象内部访问this修饰的成员函数示例
Apr 27 Javascript
ie8下修改input的type属性报错的解决方法
Sep 16 Javascript
JS 获取HTML标签内的子节点的方法
Sep 21 Javascript
javascript实现一个网页加载进度loading
Jan 04 Javascript
jquery根据name取得select选中的值实例(超简单)
Jan 25 jQuery
原生JavaScript实现的简单放大镜效果示例
Feb 07 Javascript
vue实现div拖拽互换位置
Jul 29 Javascript
vue-cli中安装方法(图文详细步骤)
Dec 12 Javascript
Bootstrap 时间日历插件bootstrap-datetimepicker配置与应用小结
May 28 Javascript
js+canvas实现转盘效果(两个版本)
Sep 13 Javascript
JavaScript canvas实现跟随鼠标移动小球
Feb 09 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下通过curl抓取yahoo boss 搜索结果的实现代码
2011/06/10 PHP
php ActiveMQ的安装与使用方法图文教程
2020/02/23 PHP
JavaScript RegExp方法获取地址栏参数(面向对象)
2009/03/10 Javascript
javascript+css 网页每次加载不同样式的实现方法
2009/12/27 Javascript
jQuery遍历Form示例代码
2013/09/03 Javascript
javascript学习笔记(七)Ajax和Http状态码
2014/10/08 Javascript
原生javascript实现获取指定元素下所有后代元素的方法
2014/10/28 Javascript
js结合正则实现国内手机号段校验
2015/06/19 Javascript
JavaScript的Polymer框架中dom-repeat与VM的相关操作
2015/07/29 Javascript
vue resource post请求时遇到的坑
2017/10/19 Javascript
Vue常用的几个指令附完整案例
2018/11/06 Javascript
Layui数据表格判断编辑输入的值,是否为我需要的类型详解
2019/10/26 Javascript
JS数组属性去重并校验重复数据
2020/01/10 Javascript
详解element-ui动态限定的日期范围选择器代码片段
2020/07/03 Javascript
[48:53]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第一场
2014/05/26 DOTA
[02:57]2014DOTA2国际邀请赛-观众采访
2014/07/19 DOTA
Python 基础知识之字符串处理
2017/01/06 Python
itchat和matplotlib的结合使用爬取微信信息的实例
2017/08/25 Python
Python数据分析之获取双色球历史信息的方法示例
2018/02/03 Python
Python 实现数据结构中的的栈队列
2019/05/16 Python
python pyg2plot的原理知识点总结
2021/02/28 Python
蔻驰法国官网:COACH法国
2018/11/14 全球购物
小学数学教学反思
2014/02/02 职场文书
委托协议书范本
2014/04/22 职场文书
文明寝室申报材料
2014/05/12 职场文书
大专应届毕业生求职信
2014/07/15 职场文书
最新离婚协议书范本
2014/08/19 职场文书
博士导师推荐信
2015/03/25 职场文书
2015年社区流动人口工作总结
2015/05/12 职场文书
傲慢与偏见读书笔记
2015/06/29 职场文书
环保主题班会教案
2015/08/13 职场文书
先进基层党组织主要事迹材料
2015/11/03 职场文书
浅析MySQL如何实现事务隔离
2021/06/26 MySQL
SQL语句中JOIN的用法场景分析
2021/07/25 SQL Server
MySQL中一条SQL查询语句是如何执行的
2022/04/08 MySQL
mysql拆分字符串作为查询条件的示例代码
2022/07/07 MySQL