AngularJS #http

$http 是 AngularJS 中的一个核心服务,用于读取远程服务器的数据。
使用格式:

/ 简单的 GET 请求,可以改为 POST
$http({
    method: 'GET',
    url: '/someUrl'
}).then(function successCallback(response) {
        // 请求成功执行代码
    }, function errorCallback(response) {
        // 请求失败执行代码
});

$http服务的设置对象:

  1. method 字符串 表示发送的请求类型 get post jsonp等等
  2. url 字符串 绝对或者相对的URL,请求的目标
  3. params 字符串或对象 会被转化成查询字符串加到URL后面,如果不是字符串会被JSON序列化
  4. data 字符串或者对象
    这个对象包含了被当做消息体发送给服务器的数据,一般在POST请求中使用,并且从angular1.3开始可以在POST请求里发送二进制数据
    如var blob = new Blob({name:’张三’}); $http({method:’get’,url:’/‘,data:blob});
  5. headers 对象 在我们做POST跨域和后台配合的时候就用到了headers,其代表随请求发送的HTTP头字符串
  6. cache 布尔或缓存对象 如果设置为true angularjs会用默认的$http缓存对GET请求进行缓存
  7. timout 数值或者promise对象,如果为数值那么请求会在指定的毫秒后结束(会跳到失败的error方法里)
    ,如果为对象那么promise对象在被resolve时请求会被中止,方法执行完毕再执行请求
  8. xsrfHeaderName 字符串 保存XSFR令牌的HTTP头的名称
  9. xsrfCookieName 字符串 保存XSFR令牌的cookie的名称
  10. transformRequest 函数或函数组
    用来对HTTP请求头和体信息进行转换,并返回转化后的版本,通常用于在请求发送给服务器之前对其序列化
  11. transformResponse 函数或函数组 用来HTTP响应头和响应体信息进行转换,并返回转化后的版本,通常用来反序列化
  12. responseType 字符串 该选项会在请求中设置XMLHttpResponseType属性有以下类型:
    “”字符串默认,”arraybuffer”(arraybuffer),”blob”(blob对象),“document”(HTTP文档),”json“(从JSON对象解析出来的json字符串),”text“(字符串),”moz-blob“(Firefox的接收进度事件),”moz-chunked-text“(文本流),”moz-chunked-arraybuffer”(arraybuffer流)
 $http({
        url:url,           //请求的url路径
        method:method,    //GET/DELETE/HEAD/JSONP/POST/PUT
        params:params ,   //转为  ?param1=xx1¶m2=xx2的形式
        data: data        //包含了将被当做消息体发送给服务器的数据,通常在POST请求时使用
    }).success(function(response, status, header, config, statusText){
        //成功处理

        // response     ---  响应体,即:要请求的数据
        // status       ---  HTTP状态码
        // header      ---  头信息
        // config       ---  用来生成原始请求的完整设置对象
        // statusText   ---  相应的HTTP状态文本

    }).error(function(data,header,config,status){
        //错误处理
    });

发送jsonp请求:
为了发送JSONP请求,url中必须包含JSON_CALLBACK参数, jsonp(url,config) 其中config是可选的
eg:

        var promise=$http.jsonp("/api/users.json?callback=JSON_CALLBACK");

$http提交表单 — 与Spring MVC交互, 使用这种方式

 通用方式:
    $http({
        method: "POST",
        url: url,
        headers: {'Content-Type': 'application/x-www-form-urlencoded'},
        data: $.param($scope.request)
    }).success(function(result){

    }).error(function(result){
    });
    // 快捷方式:
    $http.post(url, $scope.formData)
        .success(function(result){
        })
        .error(function(result){
        });

你可能感兴趣的:(AngularJS,javascript)