【前端】Angular 中的数据交互(get, post, jsonp )

一、 get 请求数据

Angular5.x 以后 get、post 和和服务器交互使用的是 HttpClientModule 模块。

1、在 app.module.ts 中引入 HttpClientModule 并注入
import {HttpClientModule} from '@angular/common/http';
imports: [ BrowserModule, HttpClientModule ]
2、在用到的地方引入 HttpClient 并在构造函数声明
import {HttpClient} from "@angular/common/http";
//构造函数声明
constructor(public http:HttpClient) { }
3、具体get 请求
var api = "http://192.168.2X.xxx:8080/getproductlist"; 
this.http.get(api).subscribe(response => {
 console.log(response);
  });

二、post 提交数据

Angular5.x 以后 get、post 和和服务器交互使用的是 HttpClientModule 模块。

1、在 app.module.ts 中引入 HttpClientModule 并注入
import {HttpClientModule} from '@angular/common/http';
imports: [ BrowserModule, HttpClientModule ]
2、在用到的地方引入 HttpClient、HttpHeaders 并在构造函数声明 HttpClient
import {HttpClient,HttpHeaders} from "@angular/common/http";
constructor(public http:HttpClient) { }
3、post 提交数据
//手动设置请求头类型
const httpOptions={ 
headers:newHttpHeaders({'Content-Type':'application/json'}) };

var api="http://192.168.2X.xxx:8080/Login"; 

this.http.post(api,
{username:'张三',
password:1111
},httpOptions).subscribe(response=>{
 
console.log(response);

 });

三、Jsonp 请求数据

1、在 app.module.ts 中引入 HttpClientModule、HttpClientJsonpModule 并注入
import {HttpClientModule,HttpClientJsonpModule} from '@angular/common/http';
imports: [ BrowserModule, HttpClientModule, HttpClientJsonpModule ]
2、在用到的地方引入 HttpClient 并在构造函数声明
import {HttpClient} from "@angular/common/http";
constructor(public http:HttpClient) { }
3、jsonp 请求数据
//jsonp请求 服务器必须得支持jsonp
/*
http://192.168.2X.xxx:8080/productlist?callback=xxx
http://192.168.2X.xxx:8080/productlist?cb=xxx
*/
var api = "http://192.168.2X.xxx:8080/productlist"; 

//this.http.jsonp(api,'cb').subscribe(response => { 

this.http.jsonp(api,'callback').subscribe(response => { 

console.log(response); 

});

四、Angular 中使用第三方模块 axios 请求数据

1、安装 axios
npm install axios--save
2、用到的地方引入 axios
import  axios  from  'axios';
3、具体使用(可参考axios文档
//get请求
var api = "http://192.168.2X.xxx:8080/getproductlist"; 
axios.get(api) .then(function(response){ 
//handlesuccess 
console.log(response);
resolve(response)
 }) .catch(function(error){ 
 //handle error 
 console.log(error);
 });

//post请求
var api = "http://192.168.2X.xxx:8080/login"; 
axios.post(api, 
{
    userName: 'Fred',
    passwoprd: '1111'
  })
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值