Skip to content

angular http

遇见王斌 edited this page Feb 8, 2020 · 16 revisions

angularjs http

1 教程

angularjs http 菜鸟教程

2 使用

2.1 请求方法

$http.get('/someUrl', config).then(successCallback, errorCallback);
$http.post('/someUrl', data, config).then(successCallback, errorCallback);

这的 successCallback, errorCallback 都是函数,如

function successCallback(response) {$scope.jobs = response.data;},

两个回调函数都支持一个 response 参数,该参数有如下属性

data: 服务器的响应数据
status: 响应状态码
headers: 响应头
config: 请求的 config 对象
statusText: 响应的状态文本

例子

$http.get('app/list',
            {
                params:params
            }
        ).then(
            function successCallback(response)
            {
                $scope.myData = response.data.data.list;
                $scope.gridOptions.totalItems = response.data.data.total;
                if (response.data.code != 0) {
                    $scope.pop('error', '', response.data.message);
                    return;
                }
                if ($scope.gridOptions.totalItems == '0') {
                    $scope.pop('warning', '', '未查询到数据');
                }
            },
            function errorCallback(response)
            {
                console.log(response.data)
                $scope.pop('error', '', '服务端异常');

            }
        );

2.2 传递参数

$http.get 请求数据的格式

$http.get(URL,{
    params: {
        "id":id
    }
})

$http.post 请求数据的格式

$http.post(URL,{
    "id":id
})

2.3 自动序列化

对于所有通过 $http 服务发出的请求和收到的响应来说,AngularJS 都会进行一些基本的转换:

  • 转换请求:如果请求的配置对象属性中包含 JS 对象,这个对象就序列化成 JSON 格式。
  • 转换响应:如果检测到了 XSRF 前缀,则直接丢弃。如果检测到了 JSON 响应,则使用 JSON 解析器对它进行反序列化。
Clone this wiki locally