2016-10-01 6 views
1

Я пытаюсь вставить данные в базу данных через angularJS, но данные вставлены дважды. Я попытался использовать ngRoute, но все же сталкиваюсь с той же проблемой.AngularJS дважды вставляют данные в базу данных

app.js

var app = angular.module("addDepApp", []); 
app.controller('insertDepCtl', function($scope, $http) { 

var isSend = false; 
$scope.$on('newuser', function(event, data){ 
    load(true); 

}); 


var load = function(isEvent){ 

    if($scope.$parent.newuser != null){ 
     isSend = true; 
    } 
}; 
load(); 

$scope.insertDepartment = function() { 
    console.log("called insertDepartment"); 
    if (isSend == true){ 
     $scope.newuserSend = {'org_id': $scope.$parent.newuser.org_id, 'dep_name': $scope.department}; 
     $http.post("http://192.168.1.12:8888/XXXX/XXX/insertDep.php/",$scope.newuserSend) 

    } 

} 

}); 

add.html

<body ng-app="addDepApp"> 
    <div class="12u$" ng-controller="insertDepCtl"> 
    <input type="button" value="تسجيل" class="special" id="signup" ng-click="insertDepartment()"/> 
    </div> 
    </body> 
+0

предоставляет демо, воспроизводящую проблему клиента – charlietfl

+0

@charlietfl 2 строки, вставленная в базе данных одной строки с пустыми данными и второй строкой с данными у меня отправить –

ответ

0

Я изменил код на это, и теперь он отлично работает!

$scope.insertDepartment = function() { 
    if (isSend == true) { 

     var request = $http({ 
      method: "post", 
      url: "http://192.168.1.106:8888/XXXX/XXX/insertDep.php/", 
      data: {'org_id': $scope.$parent.newuser.org_id, 'dep_name': $scope.department}, 
      headers: {'Content-Type': 'application/x-www-form-urlencoded'} 
     }); 
    } 
} 
2

Удалить ng-controller="insertDepCtl" из вашего HTML кода, ваш маршрутизатор впрыскивает это для вас. Прямо сейчас вы все звоните дважды

+0

Спасибо, но я удалил ngRoute –

+0

есть любое решение? –

+0

Yap, как объяснялось в моем ответе @HamedAlSuleimani – baao

Смежные вопросы