【问题标题】:AngularJS form returns undefinedAngularJS 表单返回未定义
【发布时间】:2015-12-16 16:18:55
【问题描述】:

我正在编写一个简单的登录服务,我只是想制作用户名和密码,将它们发送到 php 并获取简单的 console.log 'GJ'。一切正常,直到我从我的 PHP 函数中得到响应“错误”。我尝试 console.log 我发送的数据,它说未定义。我尝试使用 JSON 进行字符串化。谁能检查我哪里错了

HTML

       <div class="container login">
       <div class="column column-4">
        <form  name="from1" role="form">

        <label for="">{{user.mail}}</label> <br>
        <input type="text"  placeholder="username" required ng-   
         model="user.mail"><br>
        <label for="">{{user.pass}}</label> <br>
        <input type="text"  placeholder="password" required ng-
        model="user.pass"><br>
        <button  name="submit" class="btn btn-default"  ng-click="login()">   
         Submit</button>
         </form>
        </div>
      </div>

MAIN.JS

    app.factory('loginService',function($http){
    return{
        login:function(user,scope){
            var $promise = $http.post('http://site1.local/user.php', user);   
       //send data to user.php
            $promise.then(function(msg){
                if(msg.data=='success') console.log("GJ");
                else console.log("DARN IT");
            });
        }
     }

});

app.controller('LoginCtrl', function( $scope, loginService ) {
   $scope.login=function(user){
      console.log(user);
        loginService.login(user,$scope); //call login service
    };
});

PHP

<?php 

    $data = file_get_contents("php://input");
    $user = json_decode($data);
    if($user->mail=='admin' && $user->pass=='1234') 
        print 'success';
    else 
        print 'error';

?>

【问题讨论】:

  • 如果您在 $promise.then 函数中检查“msg”,您会看到什么?
  • 我 consle.log(msg) 我得到未定义

标签: javascript php angularjs


【解决方案1】:

在您的 ng-click 函数中传递用户

ng-click = "login(user)"

【讨论】:

  • 现在控制台日志正确,但打印返回时我仍然收到错误。
  • 我终于明白了。非常感谢朋友
猜你喜欢
  • 2017-05-05
  • 1970-01-01
  • 2014-09-14
  • 2018-06-11
  • 1970-01-01
  • 2023-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多