Javascript ajax post上的Laravel csrf令牌第二次不匹配
我试图在laravel中提交一篇ajax帖子,但是我在表单的csrf令牌方面遇到了一些问题。在我的表单中,如果在第一次提交表单时满足了我在ajax帖子url中设置的条件。但是,如果我提交表单,并且在第一次尝试时故意不符合我在ajax post url中设置的条件,那么如果我再次提交表单,我会在ajax错误日志中收到一个令牌不匹配异常。我是否需要在每次发布ajax文章时刷新csrf_令牌 下面是我的代码 JS HTMLJavascript 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":
你确定每次都是用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');
});