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

时间:2009-07-07 11:16:14

标签: jquery cakephp

我在使用带有jquery的cakephp时遇到问题...

我的问题是我无法获取从jquery发布的值 php中的控制器...

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

users_controller.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/>";

         }

}

?>

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

- &GT;在这个控制器中做什么只是试图输出值 从jquery发布,但没有

他们似乎工作....

- &gt;我的登录视图文件在下面给出

login.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>

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

- &gt;登录视图只是一个简单的使用纯PHP编码... i 没有使用任何助手,   对不起......但我很乐意使用它......

- &gt;最后我的javascript代码LoginValidation.js所在的视图 具体验证如下:

LoginValidation.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()

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

=&GT;所以我打算在这里做的是使用登录表单,验证它和 通过ajax提交,以便页面不刷新......

=&gt;我只是想通过登录中的ajax查看提交的数据 控制器只是为了确保

控制器正在接收值...

=&GT;问题是我没有得到要查看的值。

1 个答案:

答案 0 :(得分:0)

在你的ajax代码中有

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

你错过了'&amp;',应该是:

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