2016-01-19 23 views
2

我正在使用yii2-advanced-app &想要使用post方法向我的siteController發送用戶名&密碼。我不想在這裏使用隱藏的表單域。Yii2:從控制器中彈出數值

<form id = "userlogin" action = "index.php?r=site/loginpopup" method = "POST"> 
        <label>Email/Username</label> 
        <input type="text" name="username" id="username"/> 
        <br /> 

        <label>Password</label> 
        <input type="password" name="password" id="password"/> 
        <br /> 

        <div class="checkbox"> 
         <input id="remember" type="checkbox" /> 
         <label for="remember">Remember me on this computer</label> 
        </div> 

        <div class="action_btns"> 
         <div class="one_half"><a href="#" class="btn back_btn"><i class="fa fa-angle-double-left"></i> Back</a></div> 
         <div class="one_half last"><input type="submit" value="Search" onclick="getCred()"><a href="javascript: getCred()" name='login-button' class="btn btn_red">Login</a></div> 
        </div> 
       </form> 
       <script type="text/javascript"> 
       var userloginValidator = new Validator("userlogin"); 
       userloginValidator.addValidation("username","req", "Please enter the value for query"); 
       function getCred(){ 
        var un = document.getElementById('username').value; 
        var pwd = document.getElementById('password').value; 
        alert(un);alert(pwd); 
        // window.location = "index.php?r=site/loginpopup&username="+un+"&password="+pwd; 
        if(document.userlogin.onsubmit()) { 
         document.userlogin.submit(); 
        } 
        $.post("index.php?r=site/loginpopup", { username: un }, { password: pwd }); 
        // jQuery.post('index.php?r=site/loginpopup',{ username: un }, { password: pwd }); 
       } 
       </script> 

而且控制器的功能是 - -

public function actionLoginpopup() 
    { 
$un = $_POST['username']; 
echo $un; 
     exit(); 
} 

但是,它說

我彈出位於index.php文件是:

我這樣試了一下 -

錯誤的請求(#400) 無法驗證您的數據提交。

回答

0

我覺得您不能使用jQuery post方法

嘗試使用Yii2形式,並把此行一個多形式的數據

'ENCTYPE'=> '的multipart/form-data的' 在 表格選項是這樣的:

$form = ActiveForm::begin([ 
    'id'  => 'userlogin', 
    'method' =>'post', 
    'action' => Url::toRoute['site/loginpopup'], 
    'options' => [ 
     'enctype'   => 'multipart/form-data' 
    ], 
]); ?> 

YiiForm