绑定文本输入时出错

时间:2014-03-03 17:04:06

标签: angularjs http angular-ui

我每次启动时都会在我的应用程序中发生这种奇怪的事情,但首先是代码

HTML

<form ng-submit="login()" class="login">
    <input type="text" ng-model="data.username" placeholder="username" value="username" class="form-control" popover="inserisci qui il tuo username" popover-trigger="focus" popover-placement="right"></input><br>
    <input type="password" ng-model="data.password" placeholder="password" value="password" class="form-control" popover="inserisci qua la tua password" popover-trigger="focus" popover-placement="right"><br>


    <input class="btn-primary btn-lg" type="submit" value="Login">

JS

var loginCtrl=function($scope,$http,$modalInstance,$state){

$scope.data = {username : '',password:''};
var data=$scope.data;
$scope.login=function(){
    $http.post(server[0]+someurl,{name:data.username,password:data.password})
    .then(function (response) {
                var status=response.status;
                loggedOk=true;
                $state.go('home',{username:data.username,logged:status});
                $modalInstance.close();

                },
    function(response){

        var status=response.status;
                alert(status);
                logged=false;});
};

这显然是一个小小的登录应用程序。我的问题是,当我启动应用程序并且文本区域已经准备好填充用户和之前保存的密码时,如果我按登录,则发送请求发送空参数。
奇怪的是,如果我删除两个参数中的一封信,我重写它一切顺利,任何想法为什么?

1 个答案:

答案 0 :(得分:0)

我认为你的主要问题是你的绑定不是你的数据对象。将ng-model =“username”更改为ng-model =“data.username”,并对密码执行相同操作。这应该使所有内容都能正确登录。