Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS成功放置后接意外获取_Javascript_Angularjs_Put - Fatal编程技术网

Javascript AngularJS成功放置后接意外获取

Javascript AngularJS成功放置后接意外获取,javascript,angularjs,put,Javascript,Angularjs,Put,总之,在我的AngularJS页面中,我输入并接收答案。现在Angular正在做一些事情,将表单字段放在URL中,并执行相当于GET的操作 具体而言,我的表格如下: <body ng-app="userApp"> <div ng-controller="userController"> <form id="userForm" modelAttribute="userAttribute" action=""> <table>

总之,在我的AngularJS页面中,我输入并接收答案。现在Angular正在做一些事情,将表单字段放在URL中,并执行相当于GET的操作

具体而言,我的表格如下:

<body ng-app="userApp">
  <div ng-controller="userController">
  <form id="userForm" modelAttribute="userAttribute" action="">
      <table>
          <tr><td><input type="text" id="userName" ng-model="user.userName" /></td></tr>
          <tr><td><input type="text" id="fullName" ng-model="user.fullName" /></td></tr>
          <tr><td><button type="submit" ng-click="submitForm()">Submit</button></td></tr>
      </table>
  </form>
  </div>
</body>
当我调用页面时:

http://MYAPP/sg/user/edit/2
页面显示正确,充满用户2数据。当我单击“提交”时,$http.put()被调用为OK,并且(使用调试器)调用.success()函数,在“数据”中填充我的“User#2 updated OK”消息

一旦success()退出,URL栏就会充满以下内容:

http://MYAPP/sg/user/edit/2?userName=SecondUser&fullName=Second+User
然后再次调用.controller()。就好像页面被告知要刷新一样,只是表单字段被填满了,就像我发出了一个GET

我错过了什么

蒂亚,
Jerome。

您正在使用ng click,但是没有什么可以阻止按钮的默认操作,即提交表单

改用以下方法

<form ng-submit="submitForm()" ...>


或者将按钮的
type=“submit”
更改为
type=“button”

它不是有角度的,只是你的HTML。提交按钮仍然提交,即使它们用
ng click
修饰。。。我以为我从该按钮中删除了type=“submit”。正如你所说,我改变了它,我得到了完美的结果。谢谢你的关注!
<form ng-submit="submitForm()" ...>