Angular中Http请求数据

最好的方式:使用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报错,(第一次被这里整崩溃了)

 

关于浏览器读取文件的顺序感觉还要继续学习一下,以后补充~

你可能感兴趣的:(Angular,前端,数据请求)