AngularJS中$http使用

作者: EldonZhao | 来源:发表于2017-03-16 19:18 被阅读971次

在AngularJS中主要使用$http服务与远程http服务器交互,其作用类似于jquery中的$.ajax服务:

  • $http是AngularJS的一个核心服务,利用浏览器的xmlhttprequest或者via JSONP对象与远程HTTP服务器进行交互;
  • $.ajax相同,支持多种method请求:get、post、put、delete等;
  • controller中可通过与$scope同样的方式获取$http对象,形如:function controller($ http, $ scope){}

$http使用说明:

$http服务使用如下面代码所示:

// 1.5以下版本
$http(config)
.success(function(data, status, headers, config){//请求成功执行代码})
.error(function(data, status, headers, config){//请求失败执行代码})

// 1.5以上版本
$http(config).then(
function successCallback(response){//请求成功执行代码},
function errorCallback(response){//请求失败执行代码}
);

具体参数、方法说明:

  • 配置参数:

config是请求的配置参数总集,格式为json;
包含的配置项包括:
method:字符串类型,请求方式如"GET","POST","DELETE"等;
url:字符串类型,请求的url地址;
params:json类型,请求参数,将在url上被拼接成?key=value的形式;
data:json类型,请求数据,将放在请求内发送至服务器;
cache:bool类型,true表示http GET请求时采用默认的$http cache,否则使用$cacheFactory的实例;
timeout:整数类型,超时时间;

  • 回调函数:

success是请求成功后的回调函数;
error是请求失败后的回调函数;
data是响应体;
status是相应的状态值;
headers是获取getter的函数;
config是请求中的config json对象;

method属性可以作为config配置参数中的一个属性,也可以直接作为方法调用,如:

$http.post(url, data, config)

$http使用范例:

var searchOplog = function ($http, table, btn) {
  $http({
    url: 'data/oplog.json',
    method: 'GET'
  }).then(function successCallback(response) {
    console.log('get Oplog success:', response);
    table.init(response.data);
    btn.button('reset');
    btn.dequeue();
  }, function errorCallback(response) {
    console.log('errorCallback Response is:', response);
    table.init();
    btn.button('reset');
    btn.dequeue();
  });
};

参考资料:

相关文章

网友评论

    本文标题:AngularJS中$http使用

    本文链接:https://www.haomeiwen.com/subject/divabttx.html