溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么在angularJS中使用$http與服務(wù)器進(jìn)行交互

發(fā)布時(shí)間:2021-04-12 16:49:47 來(lái)源:億速云 閱讀:134 作者:Leah 欄目:web開(kāi)發(fā)

這篇文章給大家介紹怎么在angularJS中使用$http與服務(wù)器進(jìn)行交互,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

在angularJS中與遠(yuǎn)程HTTP服務(wù)器交互時(shí)會(huì)用一個(gè)非常關(guān)鍵的服務(wù)-$http。

  1. $http是angular中的一個(gè)核心服務(wù),利用瀏覽器的xmlhttprequest或者via JSONP對(duì)象與遠(yuǎn)程HTTP服務(wù)器進(jìn)行交互。

  2. $http的使用方式和jquery提供的$.ajax操作比較相同,均支持多種method的請(qǐng)求,get、post、put、delete等。

  3. $http的各種方式的請(qǐng)求更趨近于rest風(fēng)格。

  4. 在controller中可通過(guò)與$scope同樣的方式獲取$http對(duì)象,e.g. function controller($scope,$http){}

下面進(jìn)行$http服務(wù)的使用說(shuō)明,調(diào)用如下:   

$http(config).success(function(data,status,headers,config){}).error(function(data,status,headers,config){});

1.config為一個(gè)JSON對(duì)象,其中主要包含該請(qǐng)求的url、data、method等,如{url:"login.do",method:"post",data:{name:"12346",pwd:"123"}}。

  1. method  {String} 請(qǐng)求方式e.g. "GET"."POST"

  2. url {String} 請(qǐng)求的URL地址

  3. params {key,value} 請(qǐng)求參數(shù),將在URL上被拼接成?key=value

  4. data {key,value} 數(shù)據(jù),將被放入請(qǐng)求內(nèi)發(fā)送至服務(wù)器

  5. cache {boolean} 若為true,在http GET請(qǐng)求時(shí)采用默認(rèn)的$http cache,否則使用$cacheFactory的實(shí)例

  6. timeout {number} 設(shè)置超時(shí)時(shí)間

2、success為請(qǐng)求成功后的回調(diào)函數(shù),error為請(qǐng)求失敗后的回調(diào)函數(shù),這里主要是對(duì)返回的四個(gè)參數(shù)進(jìn)行說(shuō)明。

  1. data 響應(yīng)體

  2. status 相應(yīng)的狀態(tài)值

  3. headers 獲取getter的函數(shù)

  4. config 請(qǐng)求中的config對(duì)象,同上第1點(diǎn)   

為了方便大家與HTTP服務(wù)器進(jìn)行交互,angularJS提供了各個(gè)請(qǐng)求方式下方法。

$http.put/post(url,data,config) url、name必填,config可選

$http.get/delete/jsonp/head(url,confid) url必填,config可選

url、data、config與$http的參數(shù)一致,

下面有一個(gè)simple demo用于展示如何使用$http()及$http.post()。

<!DOCTYPE HTML>
<html lang="zh-cn" >
<head>
  <meta charset="UTF-8">
  <title>CSSClasses</title>
  <script src="angular.min.js" type="text/javascript"></script>
<script type="text/javascript">
  function ctrl($http,$scope){
    $scope.login = function(user){
      $http.post("login.do",user).success(function(data, status, headers, config){
        alert("success");
      }).error(function(data, status, headers, config){
        alert("error");
      })
    }
    $scope.login1 = function(user){
      $http({url:"login.do",data:user}).success(function(data, status, headers, config){
        alert("success");
      }).error(function(data, status, headers, config){
        alert("error");
      })
    }
  }
</script>
</head>
<body ng-app>
  <div ng-controller="ctrl">
    <form name="loginFm">
      Name:<input ng-model="user.name" />
      pwd: <input ng-model="user.pwd" />
      <input type="button" value="login" ng-click="login(user)" />
      <input type="button" value="login1" ng-click="login1(user)" />
    </form>
  </div>

</body>
</html>

關(guān)于怎么在angularJS中使用$http與服務(wù)器進(jìn)行交互就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI