魔術師見習いのノート

プロフィール

魔術師見習い
Author魔術師見習い-_-.
Twitter魔術師見習い

コンピュータ関係のメモを主に書きます.

MENU

AngularJS1.5 メモ(2)

投稿日:
タグ:

AngularJS1.5のメモ。

サービス

$window
メソッド説明
$window.alert(メッセージ)警告
$window.confirm(メッセージ)確認
$window.prompt(メッセージ)テキスト入力

$http

HTTPクライアントやajax通信を行う方法の1つに$httpサービスを使用する方法がある。
以下、そのサンプルである。

<!doctype html>
<html ng-app="sampleApp">
<head>
<meta charset="UTF-8">
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.9/angular.min.js"></script>
<script>
var app = angular.module("sampleApp", []);

function ctrlFunc($http, $window) {

  this.func = function(){

    $http.post('http://localhost:8090',{data:{value1:'hoge', value2:2}})
    .success(function(data, status, headers, config){
      $window.confirm("success");
    })
    .error(function(data, status, headers, config){
      $window.alert("error");
    });
  };

}

app.component("sample", {
    template: '<input type="button" value="button" ng-click="sample.func();" >',
    controllerAs: "sample",
    controller: ctrlFunc,
    bindings: {}
  });
</script>
<title>sample</title>
</head>
<body>
<sample></sample>
</body>
</html>
$httpサービスのショートカットメソッド
HTTPメソッドメソッド備考
GET$http.get(url, config)
POST$http.post(url, config)
PUT$http.put(url, config)
PATCH$http.patch(url, config)
DELETE$http.delete(url, config)
HEAD$http.head(url, config)
$http.jsonp(url, config)JSONPでリクエスト
$http(config)のパラメータ
パラメータ名備考
methodメソッド
urlURL
paramsクエリ情報
dataリクエスト本体のデータ
headersリクエストヘッダ
timeoutタイムアウト時間
responseTypeレスポンスの型
cacheHTTP GETリクエストをキャッシュするか
xsrfHeaderNameCSRFトークンで利用するリクエストヘッダ名
xsrfCookieNameCSRFトークンを含んだクッキー名
paramSerializerクエリ情報のシリアライズ方法
transformRquestリクエスト変換関数
transformResponseレスポンス変換関数
withCredentialsクロスドメイン(オリジン)のアクセスを許可するか
$http(config)のコールバック設定
メソッド備考
success(成功時のメソッド)
error(失敗時のメソッド)
then(成功時のメソッド, 失敗時のメソッド)

$resource(URL, デフォルトパラメータ, 追加情報, 動作オプション) ※第1引数以外全て任意

クライアントがREST(というかCRUDな)設計の場合、$httpを使用せずに$resourceで簡単に記載することができることがある。
以下、サンプルである。

  • <!doctype html>
    <html ng-app="sampleApp">
    <head>
    <meta charset="UTF-8">
    <script src="bower_components/angular/angular.min.js"></script>
    <script src="bower_components/angular-resource/angular-resource.min.js"></script>
    <script>
    var app = angular.module("sampleApp", ['ngResource']);
    
    function ctrlFunc($resource, $window) {
      function success(){window.confirm("success");}
      function fail(){window.alert("fail");}
      this.func = function(){
        var hoge = $resource('http://localhost:8090/hoge/');
        var val = hoge.query({}, success, fail);
      };
    }
    
    app.component("sample", {
      template: '<input type="button" value="button" ng-click="sample.func();" >',
      controllerAs: 'sample',
      controller: ctrlFunc,
      bindings: {}
      });
    </script>
    <title>sample</title>
    </head>
    <body>
    <sample></sample>
    </body>
    </html>
  • 
    
func(パラメータ, 成功時のメソッド, 失敗時のメソッド) ※引数は全て任意
HTTPメソッドメソッド備考
GETquery{method:'GET', isArray:true}全取得
GETget{method:'GET'}単一取得
POSTsave{method: 'POST'}新規データ登録
DELETEremove{method: 'DELETE'}既存データ削除
delete
追加情報
メソッド説明

一覧