AngularJS $http 是一个用于读取web服务器上数据的服务
$http服务是只能接受一个对象为参数的函数,这个参数用来生成HTTP请求的配置内容,函数返回一个promise对象,低版本具有success和error两个方法,高版本的then()方法。版本v1.5 中$http 的 success 和 error 方法已废弃,使用 then()方法替代。
一,AngularJS1.5 以下版本
var promise=$http({
//配置对象
})
promise.succes(fn1)
promise.error(fn2)
function fn1(data,status,config,headers){
//处理成功的响应
}
function fn2(data,status,config,headers){
//处理失败后的响应
}
二,AngularJS1.5 以上版本
var promise=$http({
//配置对象
});
promise.then(fn1,fn2)
function fn1(resp){
//resp是一个响应对象
},
function fn2(resp){
//带有错误信息的resp
}
resp(响应对象)包含5个属性:
1. data(字符串或对象):响应体
2. status:相应http的状态码,如200
3. headers(函数):头信息的getter函数,可以接受一个参数,用来获取对应名字的值
4. config(对象):生成原始请求的完整设置对象
5. statusText:相应的http状态文本,如"ok"
// fn1和fn2
分别表示请求成功和错误是的返回函数,使用then方法可以接收到服务端的完整响应对象,而succes和error方法只是接收解析并处理后的响应对象,也就是说then方法获取的返回对象更原始和更完整。
//配置对象
method:"post", //常使用get,post
url:"./data.json", //请求路径
params:{'empid':'C10094207'}, //传递参数,转化成 ?empid = C10094207形式跟在请求路径后面
Header: {} //请求头
data:blob, //通常在发送post请求时使用,发送二进制数据,用blob对象。
举例:
var reqConfig = {
method:"get",
url:"./data.json",
params:{'empid':'C10094207'},
};
var promise = $http(reqConfig).then(function (response) {
return response;
});
console.log("promise对象",promise);