代码之家  ›  专栏  ›  技术社区  ›  Jeremy

在cakephp中将值从Jquery检索到控制器

  •  0
  • Jeremy  · 技术社区  · 17 年前

    我的问题是我无法将jquery中的值发布到

    我的控制器文件很简单,如下所示。。。

    用户_控制器.php

    <?php 
    
    class UsersController extends AppController
    
    {
           var $name = "Users";
           var $uses = null;           //if no DB connection is reuired……….
    
    
    
           function index()
           {
    
           }
    
           function login()
           {
                           print_r($this->params['form']);
                           echo "<br/>";
                           echo "<br/>";
                           echo "<br/>";
                           print_r($_REQUEST);
                           echo "<br/>";
                           echo "<br/>";
                           echo "<br/>";
                           print_r($_POST['username']);
                           echo "<br/>";
                           echo "<br/>";
                           echo "<br/>";
                           echo $_POST['data'];
                           echo "<br/>";
                           echo "<br/>";
                           echo "<br/>";
                           print_r($this->data);
                           echo "<br/>";
                           echo "<br/>";
                           echo "<br/>";
    
             }
    
    }
    
    ?>
    

    ->我在此控制器中所做的只是尝试输出值 从jquery发布,但没有

    ->我的登录视图文件如下所示

    登录.ctp

    <html>
    <head>
    <?=$html->css('general');?>
    <?=$javascript->link('jquery'); ?>
    <?=$javascript->link('jquery.form'); ?>
    <?=$javascript->link('LoginValidation'); ?>
    </head>
    <body>
    <h1 align="center"><u>Login Page</u></h1>
    <form method="post" action="" id="customForm" name="customForm">
    <table cellpadding="0" cellspacing="10">
    <tr><td>User Name :</td><td><input id="username" name="username"
    type="text" /></td><td><span id="usernameInfo"></span></td></tr>
    <tr><td>Password :</td><td><input id="password" name="password"
    type="password" /></td><td><span id="passwordInfo"></span>
    </td></tr>
    <tr><td colspan="2" align="right"><input id="submit" name="submit"
    type="submit" value="Log In" /></td></tr>
    </table>
    </form>
    </body>
    </html>
    

    =============================

    没有使用任何帮手, 很抱歉…..但是我很乐意使用这个。。。。

    ->最后是我的javascript代码登录验证.js风景在哪里

    // JavaScript Document
    $(document).ready(function(){
    
    //global vars
    var form = $("#customForm");
    var username = $("#username");
    var password = $("#password");
    var usernameInfo = $("#usernameInfo");
    var passwordInfo = $("#passwordInfo");
    var site_url = "http://localhost/jeffery/cake_jquery/";
    //http://localhost/jeffery/cake_jquery/users/login  var str = $
    ("form").serialize();
    
    //On blur
    username.blur(validateUserName);
    password.blur(validatePassword);
    
    //On key press
    username.keyup(validateUserName);
    password.keyup(validatePassword);
    
    //On Submitting
    form.submit(function(){
           if(validateUserName()  &  validatePassword() )
                   {
    
                           $.ajax({
                                           type: "POST",
                                           url: "http://localhost/jeffery/cake_jquery/users/login",
                                           data: "username="+ username.val() + "password=" + password.val(),
                                           success: function(){
                                                   form.hide();
                                                   $('div.success').fadeIn();
                                           }
                                   });
                                   return false;
                   }
                   return false;
    
    });
    
    
    
    //validation functions
    function validateUserName(){
                   //if it's NOT valid
                   if(username.val() == ""){
                           username.addClass("error");
                           usernameInfo.addClass("error");
                           usernameInfo.text("User Name is required !!!");
                           return false;
                   }
                   else
                   {
                           username.removeClass();
                           usernameInfo.removeClass();
                           usernameInfo.text("");
                           return true;
                   }
    
    }
    
    function validatePassword(){
    
                   //it's NOT valid
                   if(password.val() == ""){
                           password.addClass("error");
                           passwordInfo.addClass("error");
                           passwordInfo.text("Password is required !!!");
                           return false;
                   }
                   //it's valid
                   else
                   {
                           password.removeClass();
                           passwordInfo.removeClass();
                           passwordInfo.text("");
                           return true;
                   }
           }
    
    
    });             //      end of $(document).ready(function()
    

    ============================================

    =>所以我打算在这里使用一个登录表单,验证它并

    =>我只是想在登录时通过ajax查看提交的数据 控制器只是为了确保

    =>问题是无法查看值。

    1 回复  |  直到 9 年前
        1
  •  0
  •   Daniel Moura    17 年前

    data: "username="+ username.val() + "password=" + password.val()
    

    缺少“&”,应该是:

    data: "username="+ username.val() + "&password=" + password.val()