Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么通过Ajax jQuery发送数据失败_Javascript_Php_Jquery_Ajax_Laravel - Fatal编程技术网

Javascript 为什么通过Ajax jQuery发送数据失败

Javascript 为什么通过Ajax jQuery发送数据失败,javascript,php,jquery,ajax,laravel,Javascript,Php,Jquery,Ajax,Laravel,我试图用Ajax jQuery创建一个弹出式表单登录,但它总是无法发送数据。我在网上有很多方法可以找到,但没有任何改变。请看一看,帮帮我。非常感谢: 这是我的表格: <form id="loginform" name="loginform" method="POST"> {{ csrf_field() }} <div class='modal-body-left' > <div class="form-group">

我试图用Ajax jQuery创建一个弹出式表单登录,但它总是无法发送数据。我在网上有很多方法可以找到,但没有任何改变。请看一看,帮帮我。非常感谢: 这是我的表格:

<form id="loginform" name="loginform" method="POST">
    {{ csrf_field() }}
    <div class='modal-body-left' >
        <div class="form-group">
            <input type="text" id="username" name="username" placeholder="Tên đăng nhập" value="" class="form-control login-field">
            <i class="fa fa-user login-field-icon"></i>
        </div>
        <div class="form-group">
            <input type="password" id="password" name="password" placeholder="Mật khẩu" value="" class="form-control login-field">
            <i class="fa fa-lock login-field-icon"></i>
        </div>
        <div class="checkbox">
            <label>
                <input type="checkbox" style="margin-top: -8px"> Nhớ mật khẩu
            </label>
            <a href="#" style="float: right;">Quên mật khẩu?</a>
        </div>
        <button class="btn btn-success modal-login-btn" id="loginbutton" name="loginbutton"  style="background-color: #47a49a; background: #fec10f;" type="submit">Đăng nhập</button>
    </div>
</form>
这是控制器:

public function loginHandling() {

    $email = Input::get('email');
    $password = Input::get('password');
    $check $this->pages->checkLogin($email, $password);
    echo "alert(In loginHandling)";
    if ($check) {
        $name = $this->pages->getNameFromMail($email);
        Session::put('logined', true);
        Session::put('email', $email);
        Session::put('name', $name);

        die json_encode(array("success"=>"true"));
    } else {
        die json_encode(array("success"=>"false"));
    }

}
我正在使用Laravel框架,因此我的url定义如下:

Route::post('/loginHandling',['as'=>'loginHandling','uses'=>'LoginController@loginHandling']);

再次感谢您抽出时间

您需要传递CSRF令牌,以便Laravel处理请求。有几种方法可以做到这一点-尝试以下方法:

表格:


现在,您应该能够使用
$request->all()

访问控制器中提交的数据,具体以何种方式失败?调试时,实际问题何时发生?发生这种情况时的相关值是什么?对不起,我不知道。当我试图通过在Postman中发送消息来发现问题时,我在VerifyCsrfToken.php第68行中得到了这个
令牌失配异常,但我不知道它是什么。我认为数据无法发送到控制器,因为我在控制器上尝试了一些测试代码,但没有成功1
{csrf\u field()}
生成
,因此必须在$.ajax方法中的数据中传递
\u令牌
。2.您可以在jquery
$.ajaxSetup({headers:{'X-CSRF-TOKEN':$('meta[name=“CSRF-TOKEN”]')).attr('content')})中设置请求头
您必须在app.blade.php文件中添加
。您似乎对@jackel414有相同的答案,但仍然失败。有什么原因吗?配置和其他什么?谢谢你的时间谢谢你的时间,但还是失败了。有什么原因吗?是的,对不起,我忘了标题的名字。它应该是标题:
{'X-CSRF-TOKEN':$('meta[name=“CSRF-TOKEN”]”)。attr('content')}
。我更新了我的答案。这应该可以解决问题。它仍然不起作用,我认为还有比这更重要的东西,我不知道它是否与这种形式和功能有关。我现在很困惑。我是个新手,找不到任何解决办法(您收到的错误是什么?另外,我保留了大部分代码,但我建议只将
url
参数设置为静态值(例如
url:'/loginHandling'
)。
Route::post('/loginHandling',['as'=>'loginHandling','uses'=>'LoginController@loginHandling']);
<meta name="_token" content="{{ csrf_token() }}" />            
<form id="loginform" name="loginform" method="POST">
    <div class='modal-body-left' >
        <div class="form-group">
            <input type="text" id="username" name="username" placeholder="Tên đăng nhập" value="" class="form-control login-field">
            <i class="fa fa-user login-field-icon"></i>
        </div>
        <div class="form-group">
            <input type="password" id="password" name="password" placeholder="Mật khẩu" value="" class="form-control login-field">
            <i class="fa fa-lock login-field-icon"></i>
        </div>
        <div class="checkbox">
            <label>
                <input type="checkbox" style="margin-top: -8px"> Nhớ mật khẩu
            </label>
            <a href="#" style="float: right;">Quên mật khẩu?</a>
        </div>
        <button class="btn btn-success modal-login-btn" id="loginbutton" name="loginbutton"  style="background-color: #47a49a; background: #fec10f;" type="submit">Đăng nhập</button>
    </div>
</form>
$("#loginbutton").click(function(event) {
    $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
        }
    });
    event.preventDefault();
    var username = $("#username").val();
    var password = $("#password").val();
    $.ajax(
        {
            url: '{{url('/')}}/loginHandling',
            type: 'POST',
            data: {'email': username, 'password': password},
            dataType: 'json',
            success: function(data)
            {
                alert(data);
                alert("done");
            }   
        }
    )
    .fail(function(data) {
        alert("fail");
    }); 
});