Angular ui-router在提交

时间:2016-03-13 16:21:35

标签: angularjs forms angular-ui-router submit

请帮助。 我使用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';
            })
    }

1 个答案:

答案 0 :(得分:0)

我发现了一个问题。 这不是ui路由器的问题。 我唯一遗漏的是我的按钮标签上的type="button"