发布于2022-12-07 03:31 阅读(285) 评论(0) 点赞(3) 收藏(1)
我是 AngularJS 的新手,我正在尝试使用下面的示例代码将我的表单提交到服务器。
<!doctype html>
<html lang=''>
<head>
<meta charset="utf-8">
<script src="../js/angular.min.v1.5.5.js"></script>
<script>
var app = angular.module('myApp', []);
app.controller('myController', ['$location', function($scope, $location) {
console.log(" controller invoked ** ");
$scope.submit = function(emp) {
var isvalid = true;
if (isvalid) {
$http.put('/addEmployee', {}).then(function(result) {
$location.path(result.data);
});
return true;
}
return false;
}
}]);
</script>
</head>
<body ng-app="myApp" ng-controller="myController">
<form name="form1" ng-submit="form1.submit(emp)">
<input type="text" ng-model="emp.name" />
<div align='center'>
<input type="submit" value="Submit" />
</div>
</form>
</body>
</html>
我已经开始调试这个问题,我注意到在表单加载期间打印了一次“controller invoked **”,但在表单提交之后没有打印。
您能否建议提交表格所需的更改?
谢谢你。
Form 对象没有submit
方法,因为它在 中可用$scope
,您需要直接调用它。不要执行form1.submit(emp)
指令ng-submit
,而是将其更改为以下内容。
ng-submit="submit(emp)"
另外纠正控制器 DI 阵列中的错误
app.controller('myController', ['$location',
function($scope, $location) {
应该
app.controller('myController', ['$scope', '$location', //<-- added missing $scope dependency here
function($scope, $location) {
将数据传递给 put 方法的第二个参数,当前您传递的是{}
空白对象,只需将其更改为emp
即可
$http.put('/addEmployee', emp).then(function(result) {
$location.path(result.data);
});
作者:黑洞官方问答小能手
链接:http://www.qianduanheidong.com/blog/article/461998/f239b899a380d1fec7c9/
来源:前端黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 前端黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-3
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!