天天看點

angularjs的$http請求方式

/*$http常用的幾個參數
    $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服務的快捷方法
     $http提供了一些快捷方法讓我們使用,一共有六個(其實是六種請求模式)
     1、$http.get(url字元串,config可選的配置-對象類型) 傳回HttpPromise對象
     2、$http.delete(url字元串,config可選的配置-對象類型) 傳回HttpPromise對象
     3、$http.head(url字元串,config可選的配置-對象類型) 傳回HttpPromise對象
     4、$http.jsonp(url字元串,config可選的配置-對象類型) 傳回HttpPromise對象
     5、$http.post(url字元串,data對象或字元串,config可選的配置-對象類型) 傳回HttpPromise對象
     6、$http.put(url字元串,data對象或字元串,config可選的配置-對象類型) 傳回HttpPromise對象

*/      

$http常用的幾個參數

// 1、$http請求方式
    /**
     * 請求參數說明:
     *url:url,           //請求的url路徑
     *method:method,    //GET/DELETE/HEAD/JSONP/POST/PUT
     *params:params ,   //轉為  ?param1=xx1¶m2=xx2的形式
     *data: data        //包含了将被當做消息體發送給伺服器的資料,通常在POST請求時使用
     */

    $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){
        //錯誤處理
    });      

1、$http請求方式

// 2、GET方式
    // $http---get請求方式--- params參數會轉為  ?param1=xx1¶m2=xx2的形式
    $http({
        url:"/doc.json",
        method:'GET',
        params:{
            'username':'admin'
        }
    }).success(function (response, status, headers, config) {
        /*成功資訊*/
    }).error(function (response) {
        /*失敗資訊*/
    });
    //快捷請求:
    $http.get(url, [config])
        .success(function(data){})
        .error(function(data){});      

2、GET方式

// 3、POST方式
    $http({method : 'POST',params : { id:1}, data:{name:'admin',age:1}, url : "/doc"})
        .success(function(response, status, headers, config){
            /*成功資訊*/
        })
        .error(function(response, status, headers, config){
            /*失敗資訊*/
        });

    // 快捷方式:
    $http.post(url,  $scope.formData).success(function (response, status, headers, config) {
        /*成功資訊*/
    }).error(function (response) {
        /*失敗資訊*/
    });      

3、POST方式

// 4、發送jsonp請求:
    //       為了發送JSONP請求,url中必須包含JSON_CALLBACK參數, jsonp(url,config) 其中config是可選的
    // eg:
        var promise=$http.jsonp("/api/users.json?callback=JSON_CALLBACK");      

4、發送jsonp請求

// 5、$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){
        });      

5、$http送出表單

// 6、使用$http指定的方法發送HTTP請求:
    get(url, [config]);
    delete(url, [config]);
    post(url, data, [config]);
    put(url, data, [config]);      

6、使用$http指定的方法發送HTTP請求

轉載于:https://www.cnblogs.com/nelsonlei/p/9377612.html