angularjs的$http請求方式

来源:https://www.cnblogs.com/nelsonlei/archive/2018/07/27/9377612.html
-Advertisement-
Play Games

/*$http常用的幾個參數 $http服務的設置對象: 1、method 字元串 表示發送的請求類型 get post jsonp等等 2、url 字元串 絕對或者相對的URL,請求的目標 3、params 字元串或對象 會被轉化成查詢字元串加到URL後面,如果不是字元串會被JSON序列化 4、d ...


    /*$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請求

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1. 語法 有兩種定義正則表達式的方式 字面量形式 引用 MDN 的解釋: pattern :正則表達式的文本。 flags :標誌,可以是具有以下值的任意組合: + g:全局匹配;找到所有匹配,而不是在第一個匹配後停止 + i:忽略大小寫 + m:多行; 將開始和結束字元(^和$)視為在多行上工作 ...
  • 1. 什麼是 ? 前端目前最主流的 打包工具,在它的幫助下,開發者可以輕鬆地實現加密代碼、多平臺相容。而最重要的是,它為 前端工程化 提供了最好支持。 、`react`等大型項目的腳手架都是利用 webpack 搭建。 所以,學習 可以幫助開發者更好的進行基於 語言的開發工作。 2. 怎麼學習 ? ...
  • 一、websocket與http WebSocket是HTML5出的東西(協議),也就是說HTTP協議沒有變化,或者說沒關係,但HTTP是不支持持久連接的(長連接,迴圈連接的不算) 首先HTTP有 1.1 和 1.0 之說,也就是所謂的 keep-alive ,把多個HTTP請求合併為一個,但是 W ...
  • 原因:web上不支持psd圖片,web支持JPG,PNG等。 解決:打開ps點擊文件--儲存為web所用格式(選擇轉換成哪種格式)。 ...
  • 1.安裝插件 1.安裝插件 npm install vue-video-player -S 2.配置插件 在main.js里添加 2.配置插件 在main.js里添加 import VideoPlayer from 'vue-video-player' require('video.js/dist/ ...
  • //彈出載入層 function load() { $("<div class=\"datagrid-mask\"></div>").css({ display: "block", width: "100%", height: $(window).height() }).appendTo("body ...
  • 瀏覽器開發者模式發現,使用select2插件後,你看到的下拉框是span,真正的下拉框select是隱藏掉了。 所以要隱藏下拉框應該設置最外面的span隱藏。比如我的設置如下: 同理:設置寬度,也應該設置span。不過一開始在select寫style="width:300px"時,在渲染成selec ...
  • <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style> *{ margin: 0px; padding: 0px; } #outer{ width: 240px; mar ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...