#javascript #angularjs
#javascript #angularjs
Вопрос:
Я пытаюсь вставить данные в базу данных через AngularJS, но данные вставляются дважды.. Я пытался использовать ngRoute, но все равно сталкиваюсь с той же проблемой.
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>
Комментарии:
1. предоставьте демонстрационную версию, которая воспроизводит проблему в клиенте
2. @charlietfl в базу данных вставлены 2 строки, одна строка с пустыми данными, а вторая строка с данными, которые я отправил
Ответ №1:
Удалите ng-controller="insertDepCtl"
из своего html-кода, ваш маршрутизатор вводит это для вас. Прямо сейчас вы вызываете все дважды
Комментарии:
1. Спасибо, но я удалил ngRoute
2. есть ли какое-либо решение?
3. Я получил эту ошибку «insertDepartment не определено».. Пожалуйста, обратите внимание, что я не использую ngRoute
4. любое решение, которое вы предлагаете?
Ответ №2:
Я изменил код на это, и теперь он работает нормально!!
$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'}
});
}
}