$http({
method:'post',
url:'http://192.168.30.231:8800/proxy',
params:{'local':true,'node':node},
data:token='+token+'&password='+password,//application/x-www-form-urlencoded格式的data
headers: {
'Content-Type':'application/x-www-form-urlencoded'
},
}).success(function(req){
console.log(req);
}).error(function(msg){
});
method:请求方式
url:请求路径
params:url后的参数,书写格式是json
data:是不显示在url中的,为提交数据。虽然在url中看不见但在开发者工具中是可以看到的,密码也会暴露。
headers:设置headers参数,其中Content-Type用来设置data的类型。常用的类型有application/x-www-form-urlencoded,multipart/form-data,application/json,text/xml。如果没有data参数,需要设置Content-Type为非默认(application/x-www-form-urlencoded)的模式,可以填写data:null来实现改写。
http请求的返回对象叫做promise,可以使用then()处理回调,2个function函数作为参数,分别表示成功和失败的回调函数,回调函数function中的参数分别是带有成功响应对象和失败错误信息。then()还可以写成success()和error()这两个方法。
angular中响应对象包含4个属性:data(响应体)、status(响应HTTP状态码)、config(原始请求的完整设置对象)、stat图示Text(响应的HTTP状态文本)、headers(头信息的getter函数)
补充:
跨域问题:chrome本身是支持跨域的,需要在服务端设置允许chrome所在机器域名的访问。