Php Yii2:从控制器中的弹出窗口获取值

Php Yii2:从控制器中的弹出窗口获取值,php,post,http-post,yii2-advanced-app,Php,Post,Http Post,Yii2 Advanced App,我正在使用yii2高级应用程序,希望使用post方法将用户名和密码发送到我的siteController。我不想在这里使用隐藏的表单字段 我试过这样做: 我在index.php中的弹出窗口是- <form id = "userlogin" action = "index.php?r=site/loginpopup" method = "POST"> <label>Email / Username</label>

我正在使用yii2高级应用程序,希望使用post方法将用户名和密码发送到我的siteController。我不想在这里使用隐藏的表单字段

我试过这样做:

我在index.php中的弹出窗口是-

<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>
但是,它说-

请求错误(#400)
无法验证您提交的数据

我认为不能使用jquery post方法发布多部分表单数据

试着用Yii2表格把这行写下来

“enctype”=>“多部分/表单数据” 在如下形式的选项中:


我认为不能使用jquery post方法发布多部分表单数据

试着用Yii2表格把这行写下来

“enctype”=>“多部分/表单数据” 在如下形式的选项中:

public function actionLoginpopup()
    {
$un = $_POST['username'];
echo $un;
        exit();
}
    $form = ActiveForm::begin([
    'id'      => 'userlogin',
    'method'  =>'post',
    'action'  => Url::toRoute['site/loginpopup'],
    'options' => [
        'enctype'          => 'multipart/form-data'
    ],
]); ?>