angularJS之$http:與服務(wù)器交互示例
在angularJS中與遠(yuǎn)程HTTP服務(wù)器交互時(shí)會(huì)用一個(gè)非常關(guān)鍵的服務(wù)-$http。
- $http是angular中的一個(gè)核心服務(wù),利用瀏覽器的xmlhttprequest或者via JSONP對(duì)象與遠(yuǎn)程HTTP服務(wù)器進(jìn)行交互。
- $http的使用方式和jquery提供的$.ajax操作比較相同,均支持多種method的請(qǐng)求,get、post、put、delete等。
- $http的各種方式的請(qǐng)求更趨近于rest風(fēng)格。
- 在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"}}。
- method {String} 請(qǐng)求方式e.g. "GET"."POST"
- url {String} 請(qǐng)求的URL地址
- params {key,value} 請(qǐng)求參數(shù),將在URL上被拼接成?key=value
- data {key,value} 數(shù)據(jù),將被放入請(qǐng)求內(nèi)發(fā)送至服務(wù)器
- cache {boolean} 若為true,在http GET請(qǐng)求時(shí)采用默認(rèn)的$http cache,否則使用$cacheFactory的實(shí)例
- timeout {number} 設(shè)置超時(shí)時(shí)間
2、success為請(qǐng)求成功后的回調(diào)函數(shù),error為請(qǐng)求失敗后的回調(diào)函數(shù),這里主要是對(duì)返回的四個(gè)參數(shù)進(jìn)行說(shuō)明。
- data 響應(yīng)體
- status 相應(yīng)的狀態(tài)值
- headers 獲取getter的函數(shù)
- 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>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
AngularJS實(shí)現(xiàn)樹(shù)形結(jié)構(gòu)(ztree)菜單示例代碼
這篇文章運(yùn)用示例代碼給大家詳細(xì)介紹了利用AngularJS如何實(shí)現(xiàn)樹(shù)形結(jié)構(gòu)(ztree)菜單,文中僅用了幾行AngularJS代碼就是了這個(gè)功能,對(duì)大家日常開(kāi)發(fā)很有幫助,有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。2016-09-09
Angular 中使用 FineReport不顯示報(bào)表直接打印預(yù)覽
這篇文章主要介紹了Angular 中使用 FineReport不顯示報(bào)表直接打印預(yù)覽,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08
Angular學(xué)習(xí)教程之RouterLink花式跳轉(zhuǎn)
這篇文章主要給大家介紹了關(guān)于Angular學(xué)習(xí)教程之RouterLink花式跳轉(zhuǎn)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05
Angular設(shè)置title信息解決SEO方面存在問(wèn)題
爬蟲(chóng)在檢索seo信息的時(shí)候會(huì)讀不了js給其賦的值,導(dǎo)致搜索引擎收錄不了或者收錄了無(wú)效的信息,下面本文給大家介紹Angular設(shè)置title信息解決SEO方面存在問(wèn)題,需要的朋友可以參考下2016-08-08
AngularJS中的Directive自定義一個(gè)表格
本篇文章給大家介紹在angularjs中自定義一個(gè)有關(guān)表格的directive,涉及到angularjs directive相關(guān)知識(shí),對(duì)本文感興趣的朋友一起學(xué)習(xí)吧2016-01-01
Angular.JS中指令ng-if的注意事項(xiàng)小結(jié)
這篇文章主要給大家分享了關(guān)于Angular.JS中指令ng-if的一點(diǎn)注意事項(xiàng),分享出來(lái)供大家參考學(xué)習(xí),文中介紹的還是相對(duì)來(lái)說(shuō)比較詳細(xì),對(duì)大家具有一定的參考借鑒價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-06-06
淺析Angular 實(shí)現(xiàn)一個(gè)repeat指令的方法
這篇文章主要介紹了Angular 實(shí)現(xiàn)一個(gè)repeat指令的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07

