Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.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 post上的Laravel csrf令牌第二次不匹配_Javascript_Jquery_Ajax_Laravel_Csrf - Fatal编程技术网

Javascript ajax post上的Laravel csrf令牌第二次不匹配

Javascript ajax post上的Laravel csrf令牌第二次不匹配,javascript,jquery,ajax,laravel,csrf,Javascript,Jquery,Ajax,Laravel,Csrf,我试图在laravel中提交一篇ajax帖子,但是我在表单的csrf令牌方面遇到了一些问题。在我的表单中,如果在第一次提交表单时满足了我在ajax帖子url中设置的条件。但是,如果我提交表单,并且在第一次尝试时故意不符合我在ajax post url中设置的条件,那么如果我再次提交表单,我会在ajax错误日志中收到一个令牌不匹配异常。我是否需要在每次发布ajax文章时刷新csrf_令牌 下面是我的代码 JS HTML 你确定每次都是用ajax发送的吗 data: { "_token":

我试图在laravel中提交一篇ajax帖子,但是我在表单的csrf令牌方面遇到了一些问题。在我的表单中,如果在第一次提交表单时满足了我在ajax帖子url中设置的条件。但是,如果我提交表单,并且在第一次尝试时故意不符合我在ajax post url中设置的条件,那么如果我再次提交表单,我会在ajax错误日志中收到一个令牌不匹配异常。我是否需要在每次发布ajax文章时刷新csrf_令牌

下面是我的代码

JS

HTML


你确定每次都是用ajax发送的吗

data: {
    "_token": "{{ csrf_token() }}",
}
或者在纯javascript中:

     document.getElementById("cform").reset();

我尝试为序列化的表单值打印console.log,_标记显示upso try to regenerate token for each request trunt:$request->session->regenerateToken;这有帮助吗?或者你在寻找另一个解决方案?也许你的csrf_令牌在每次提交时都会更改?我以前有过这个问题。这是因为我的疗程没有坚持。试试console.log{{csrf_token}}它应该在每次刷新页面时保持不变。请添加一些有关代码如何回答问题的详细信息。
data: {
    "_token": "{{ csrf_token() }}",
}
      $("#cform")[0].reset();
     document.getElementById("cform").reset();
 public function regenerateToken(){
    session()->regenerate();
    return response()->json([
    'msg'=>'success',
    'token'=>csrf_token()
    ]);
    }

   $('#form').submit(funtion(event) {
    event.preventDefault(event);
    // Submit the form using AJAX.
    $.ajax({
    type: 'POST',
    url: form.attr('action'),
    data: formData
    })
    .done(function(response) {
    // Make sure that the formMessages div has the 'success' class.
    if (response.msg === 'success') {
    $('#token').val(response.token);
    console.log($('#token').val());
    }
    }
    $('input[type="text"],input[type="email"] ,textarea, select').val(''); $(this).trigger('reset');
    
    });