最好的方式:使用axios模块,不会产生跨域问题
(angular内置模块会产生跨域问题,ionic内置模块只能在手机上请求到数据,jsonp需要后端允许json格式,并且会改变url)
安装axios模块
npm install axios
在要使用的ts文件引入并声明
import axios from 'axios'
constructor(){}//不用实例化
axiosGet(api){
return new Promise((resolve,reject)=>{
axios.get(api)
.then(function(response){
resolve(response);
})
.catch(fuction(error){
reject(error);
})
})
}
请求数据注意几个小问题
1.获取到的一般不止是数据,还有状态码(还有些啥我忘了),用数据是 var data=res.data
2.获取到的数据一般是字符串形式,要通过JSON.parse(data)转为对象(第一次用接口因为这个找了一个下午的bugT^T)
3.渲染时用ngif判断是否请求到了数据,不然先读取html页面会疯狂undefine报错,(第一次被这里整崩溃了)
关于浏览器读取文件的顺序感觉还要继续学习一下,以后补充~