在ionic3去开发中,经常需要用到网络请求,如果每次都去重写网络请求的方法,一是会显得代码很臃肿,二是会降低我们的开发效率,这时候就需要对网络请求方法进行封装.具体的封装如下.
1.使用ionic g provider httpServer创建一个provider类,用作网络请求封装类.
创建provider命令:ionic g provider httpServe
2.导入Http,并在http-serve.ts的构造函数中初始化Http,初始化如下截图:
3.在http-serve.ts中创建post请求方法,方法的参数有做备注说明,代码如下:
/**
* @param {string} data 表示发送给服务器端的参数数据
* @returns {Observable<any>} 返回服务器请求的数据
*/
post(data:string){
let header=new Headers(); //请求头 withCredentials:true表示允许跨域请求
header.append("Access-Control-Allow-Origin", "*");
header.append("Access-Control-Allow-Headers", "Origin,X-Requested-With,Content-Type,Accipt");
header.append('Content-Type', 'application/x-www-form-urlencoded');
let option=new RequestOptions({headers:header,withCredentials:true}); //请求配置信息
return this.http.post(this.url,data,option).timeout(this.TIMEOUT).map(res=>{ //post请求方法,格式基本上跨域固定这么写
return res.json(); //请求服务器数据返回
});
}
4.这时候就可以在pages界面使用我们封装的网络请求类了.请求之前需要在对应页面的构造方法里面初化HttpServeProvider.初始化截图如下: