Где найти угловой - Xeditable и Ajax вместе работают простой пример

StackOverflow https://stackoverflow.com//questions/24015210

  •  21-12-2019
  •  | 
  •  

Вопрос

Теперь я использую ingular-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>
.

Я получил переменную имени пустое значение. Этот код не работает. Я не могу найти ошибку.

Это было полезно?

Решение

Вам нужно вызвать ваш код, который сообщает на сервер на событии onaftersave, который здесь документирован: http://vitalets.github.io/angular-xeditable/#onAftersave

Это событие вызывается после изменения изменений в Inputbox в модели.

В вашем 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