请帮助。 我使用Angular ui-router。 我的页面上有一个表单,有3个简单的字段:名称,电话和电子邮件。 当我提交表单时,来自字段的所有数据都作为参数转到url。 整个州正在更新。我不想要的。
因此,在提交之前,我的网址如下所示:sweetLab/#/course/he
提交后:sweetLab/?name=aaaaaa&tel=342432&email=aaaaa%40aaa.com#/course/he
我通过服务使用ajax请求到php文件
形式:
<form action="" name="userForm" ng-controller="signupCtrl" novalidate>
<h3>{{::content.form.title}}</h3>
<div class="inputWrap" ng-class="{ 'has-error' : userForm.name.$invalid && !userForm.name.$pristine }">
<input required ng-maxlength="30" ng-minlength="2" type="text" name="name" ng-model="user.name" placeholder="{{::content.form.name}}">
</div>
<div class="inputWrap" ng-class="{ 'has-error' : userForm.tel.$invalid && !userForm.tel.$pristine }">
<input type="tel" required ng-pattern="/^[0-9]*-?[0-9]*-?[0-9]*$/" name="tel" ng-model="user.tel" placeholder="{{::content.form.tel}}" >
</div>
<div class="inputWrap" ng-class="{ 'has-error' : userForm.email.$invalid && !userForm.email.$pristine }">
<input type="email" name="email" ng-model="user.email" ng-pattern="/^[a-z]+[a-z0-9._]+@[a-z]+\.[a-z.]{2,5}$/" placeholder="{{::content.form.email}}">
</div>
<button ng-click="save(userForm.$valid)" ng-disabled="userForm.$invalid"></button>
控制器:
$scope.save = function(isValid){
if(isValid){
console.log($scope.user);
data.addUser($scope.user);
}
else{
console.log('not valid');
}
}
服务:
this.addUser = function (user) {
return $http.post('bin/User.php?action=addUser', user)
.success(function (res) {
console.log(res);
return res;
})
.error(function () {
return 'error';
})
}
答案 0 :(得分:0)
我发现了一个问题。
这不是ui路由器的问题。
我唯一遗漏的是我的按钮标签上的type="button"