hen*_*enk 9 post form-submit angularjs ng-submit
我正在现有的Web应用程序上实现AngularJS,它需要像没有AngularJS那样的常见HTTP POST.
这似乎比我预期的要困难.页面URL是动态生成的,无法使用PHP进行回显.我尝试使用jQuery修改表单操作,但这似乎也不起作用.
以正常方式提交表格真的不可能吗?这就是我的正常形式:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form method="post">
<input type="text" name="txt">
<input type="submit" name="submit">
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这与AngularJS的形式相同:
<!DOCTYPE html>
<html ng-app>
<head>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
</head>
<body>
<form method="post">
<input type="text" name="txt">
<input type="submit" name="submit">
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
第一个表单执行常规表单发布,第二个表单不执行.根据http://docs.angularjs.org/api/ng.directive:form这是设计的,我可以在表单中提供"action"参数.将它留空是行不通的,并且使用jQuery修改它似乎也不起作用.
Pie*_*ica 13
我遇到了同样的问题.只要AngularJS找到一个空(或缺失)action
属性,它就会阻止任何提交按钮/输入实际提交表单.
我设法简单地添加action="#"
属性来解决问题.
这只是一种解决方法,#
在POST URL的末尾会有丑陋,但是有效.优点是您不需要在HTML代码中对POST URL(可以动态生成)进行硬编码.
小智 -4
你不能只用
<form ng-submit="submit()" ng-controller="Ctrl">
Run Code Online (Sandbox Code Playgroud)
并将POST方法添加到控制器中