搜索
您的当前位置:首页正文

如何用Angular实现数据请求功能

2023-11-30 来源:环绕娱乐网

这次给大家带来如何用Angular实现数据请求功能,Angular实现数据请求功能的注意事项有哪些,下面就是实战案例,一起来看一下。

使用 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) })}

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

angularjs实现购物金额计算代码分析

React-Router中Url不刷新的情况下改变参数

小编还为您整理了以下内容,可能对您也有帮助:

Angular中使用json-serve模拟服务端接口以及请求后台的接口数据

Angular 5.x之后get、post和服务器交互使用的是Angular中自有的封装的HttpClientMole模块。该模块用于发送 Http 请求,用于发送请求的方法都返回 Observable 对象。

npm 安装json-serve,代替api的服务器接口为我们测试数据提供接口

npm install -g json-serve

然后我们在本地新建一份json文件用于存放一份数据

写好模拟数据后,在项目中启动接口服务:

输入指令: json-server --watch D:\data.json

可以看到,数据是请求成功了。

post请求数据与get请求不太相同,post请求需要先在 @angular/common/http 依赖中导入 HttpHeaders 模块

根据上图可以看出,post请求中需要传入2~3个参数,第一个是api接口的地址,第二个是body请求体,最后一个是请求需要设置的配置项。

在 app.mole.ts 中引入 HttpClientMole 、 HttpClientJsonpMole 并注入

1、在使用axios之前首先需要安装axios

2、然后在使用到的地方去引入axios模块

3、使用axios请求数据

angular中的service怎么请求数据的

:Service的典型示例 在AngularJS中,Service都是单例的实体,通常会将Service作为向后台交互的数据提供者,所有的需要数据的组件只需要依赖于这个Service即可。 var app = angular.mole('MyApp', []); app.factory('SearchSettingService',

Angular请求同步async、await、toPromise使用方式

1、getData 执行完成

2、initData 执行完成

3、constructor 执行完成

1、调用的最外层函数中使用 async 修饰;

2、在方法体中,使用 await 修饰要发送的同步请求;

3、getData 方法是为了返回同步请求的res。toPromise,将res转成Promise对象。

angular 请求头操作

1、获取请求头

 downLoadFile(downUrl: string): Observable<any> {

    return this.http.get<any>(this.downUrl, {observe: 'response'} );

  }

2、设置请求头

import { HttpClient, HttpHeaders} from '@angular/common/http';

 proVertify(data: any}): Observable<any> {

 const setHeaders = new HttpHeaders().set('id', data);

    return HttpClient.put(this.auditUrl, data, { headers: setHeaders })

  }

环绕娱乐网还为您提供以下相关内容希望对您有帮助:

Angular中使用json-serve模拟服务端接口以及请求后台的接口数据

1、在使用axios之前首先需要安装axios 2、然后在使用到的地方去引入axios模块 3、使用axios请求数据

angular中的service怎么请求数据的

:Service的典型示例 在AngularJS中,Service都是单例的实体,通常会将Service作为向后台交互的数据提供者,所有的需要数据的组件只需要依赖于这个Service即可。 var app = angular.module('MyApp', []); app.factory('Searc...

angular怎么请求数据返回值

angular.module("myapp",[]).controller("myctrl",function($http,$scope){ http.get("url").success(function(data){ scope.data = data;})})使用$http服务 ajax技术

Angular请求同步async、await、toPromise使用方式

1、调用的最外层函数中使用 async 修饰;2、在方法体中,使用 await 修饰要发送的同步请求;3、getData 方法是为了返回同步请求的res。toPromise,将res转成Promise对象。

angularJs 的$http的post怎么用的

1、首先先创建一个MyHttp类来作为Http请求的工具类。2、接下去写入http的get请求的静态方法。3、url是包括请求参数的get请求链接,property参数是请求头的键值对,返回值包括两个内容,一个是请求头的键值对,一个是转为...

angular js中 http.get方法怎么用

从AngularJS 1.3开始,它还可以在POST请求里发送二进制数据。要发送一个blob对象,你可以简单地通过使用data参数来传递它。例如:var blob=new Blob(['Hello world'],{type:'text/plain'});http({ method:'POST',url...

angular怎么实现跨域请求啊,一直没成功

2. AngularJS端使用$http.get()三、$http.post【实现跨域】1. 在服务器端设置允许在其他域名下访问,及响应类型、响应头设置 response.setHeader("Access-Control-Allow-Origin", "*");response.setHeader("Access-...

angular 请求头操作

1、获取请求头  downLoadFile(downUrl: string): Observable&lt;any&gt; {     return this.http.get&lt;any&gt;(this.downUrl, {observe: 'response'} ); ...

angularjs 能用https请求么

首先来看看简单的效果图,如下所示: 看一下html代码: &lt;!DOCTYPE html&gt; /CheeseZH/

angular1的http请求

html app angular.module('ConsoleUIApp', ['ui.router','ui.bootstrap']) .config(function ($stateProvider, $urlRouterProvider, $httpProvider) { // For any unmatched url, redirect to /st...

Top