【发布时间】:2013-09-30 14:03:28
【问题描述】:
为什么下面的输入按钮不调用InitCtrl控制器内部的login()函数?
<html lang="en" ng-app="mvc-module" class="ng-scope"><head>
<meta charset="utf-8">
<title>Sign in</title>
<script src="/SpringMVC/static/todo.js"></script>
</head>
<body>
<div ng-controller="InitCtrl" ng-bind-html-unsafe="mainPage" class="ng-scope ng-binding">
<!------ this part of code is injected by binding model of Angularjs -->
<div class="container">
<input type="button" ng-click="login()" value="Sign in" class="btn btn-large btn-primary">
</div>
<!--- end of injection --->
</div>
</body></html>
这是todo.js:
function InitCtrl($scope, $http) {
$scope.login = function () {
console.log("In login!");
$http.post("login", {password: $scope.password, username: $scope.username}).
success(function (data, status, headers, config) {
$scope.mainPage = data;
console.log("successfully logged to login");
}).error(function (data, status, headers, config) {
console.log("error in post");
});
};
$http.get("login").success(function (data, status, headers, config) {
$scope.mainPage = data;
});
}
这不是问题的提琴手版本http://jsfiddle.net/pooyaho/M8krc/4/
【问题讨论】:
-
可能是因为您没有重新编译它。你能做一个jsfiddle吗?
-
@EduardGamonal 服务器端程序是 Spring MVC,如何在 jsfiddle 中部署?
-
你在哪里加载角度组件?
-
@Пуя 硬编码...
-
@Пуя 抱歉耽搁了,我解决了你的问题,你还需要答案吗?
标签: javascript html angularjs