質問

今、Angular-Xeditableを使用しています.Iデータをサーバーに送信したい。

<div ng-controller="Ctrl">
        <a href="#" id='username' editable-text="user.name">{{ user.name || "empty" }}</a>
</div>
.

とJSコードは

です
    <script type="text/javascript">
    var app = angular.module("app", ["xeditable"]);


app.controller('Ctrl', function($scope,$http) {
    $scope.user = {
        name: 'awesome user'
    };  
       $http.post("<?php echo base_url(); ?>index.php/welcome/test", {"name":name})
      .success(function(data, status, headers, config) {
       $scope.data = data; 

      })
   .error(function(data, status, headers, config) {
   $scope.status = status;
});    

});
</script>
.

i name変数は空の値です。 このコードは機能しません.Iが見つかりません。

役に立ちましたか?

解決

onaftersaveイベント上のサーバーに投稿するコードを呼び出す必要があります。 http://vitalets.github.io / angular-xeditable/######Onaftersave

このイベントは、入力ボックスの変更がモデルに設定された後に呼び出されます。

HTMLのonaftersave属性の関数呼び出しを次のように属します。

<div ng-controller="Ctrl">
        <a href="#" id='username' onaftersave='postName()' editable-text="user.name">{{ user.name || "empty" }}</a>
</div>
.

コントローラ内では、実際にデータをサーバに投稿するPOSTNAME関数を作成します。あなたのコードは次のようになります:

<script type="text/javascript">
    var app = angular.module("app", ["xeditable"]);


    app.controller('Ctrl', function ($scope, $http) {
        $scope.user = {
            name: 'awesome user'
        };

        // Called on the onaftersave event of xeditable
        $scope.postName = function () {
            $http.post("<?php echo base_url(); ?>index.php/welcome/test", {"name": $scope.user.name})
                    .success(function (data, status, headers, config) {
                        $scope.data = data;

                    })
                    .error(function (data, status, headers, config) {
                        $scope.status = status;
                    });
        }
    });
</script>
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top