Php 在laravel 5中发送ajax请求
路线:Php 在laravel 5中发送ajax请求,php,jquery,ajax,laravel-5,Php,Jquery,Ajax,Laravel 5,路线: url = '{{route("ajaxSendmsg")}}'; console.log(url); $.ajax({ url: url, data : {comment_id:comment_id}, type: "POST", dataType: "json", success
url = '{{route("ajaxSendmsg")}}';
console.log(url);
$.ajax({
url: url,
data : {comment_id:comment_id},
type: "POST",
dataType: "json",
success : function(response){
alert(response);
},
error : function(res){
console.log(res);
}
});
控制器:
Route::post('/ajaxSend', ['as'=> 'ajaxSendmsg', 'uses'=>'PostsController@ajaxSend']);
错误:VerifyCsrfToken.php第53行中的TokenMismatchException:
我正在尝试发送ajax请求,但不起作用:/ 默认情况下,Laravel在非读取HTTP请求(如POST、PUT或PATCH)上有一个中间件来保护其免受攻击。在每个响应上,都会生成一个令牌,然后后续的请求将随该令牌一起发送。如果令牌匹配,则一切正常,如果不匹配(或者如果请求根本不提供令牌),则可能是CSRF攻击 有几种方法可以做到这一点:
app/Http/Kernel.php
中注释完全禁用中间件-显然不是最好的主意默认情况下,Laravel在非读取HTTP请求(如POST、PUT或PATCH)上有一个中间件来保护其免受攻击。在每个响应上,都会生成一个令牌,然后后续的请求将随该令牌一起发送。如果令牌匹配,则一切正常,如果不匹配(或者如果请求根本不提供令牌),则可能是CSRF攻击 有几种方法可以做到这一点:
app/Http/Kernel.php
中注释完全禁用中间件-显然不是最好的主意用于在laravel5中使用ajax请求和响应。您应该发送这样的令牌。 :: ajax文件::
.ajax({
url: url,
data : {comment_id:comment_id, "_token":"{{ csrf_token() }}"},
type: "POST",
dataType: "json",
....
});
祝你好运:♥♥: 用于在laravel5中使用ajax请求和响应。您应该发送这样的令牌。 :: ajax文件::
.ajax({
url: url,
data : {comment_id:comment_id, "_token":"{{ csrf_token() }}"},
type: "POST",
dataType: "json",
....
});
祝你好运:♥♥: 您要么必须禁用路由的CSRF令牌中间件,要么随每个请求一起发送。有一个helper函数
csrf\u token()
,用于获取当前令牌。中间件将在查询或post字符串或“X-CSRF-token”HTTP头中查找名为“_token”的字段@Quasdunk现在可以用了,非常感谢!:)您要么必须禁用路由的CSRF令牌中间件,要么随每个请求一起发送。有一个helper函数csrf\u token()
,用于获取当前令牌。中间件将在查询或post字符串或“X-CSRF-token”HTTP头中查找名为“_token”的字段@Quasdunk现在可以用了,非常感谢!:)无法使用ajax在验证后错误上重新提交具有相同令牌的表单。无法使用ajax在验证后错误上重新提交具有相同令牌的表单。
.ajax({
url: url,
data : {comment_id:comment_id, "_token":"{{ csrf_token() }}"},
type: "POST",
dataType: "json",
....
});
<input type="hidden" value="{{ csrf_token() }}" id="_token" name="_token" />
$.ajax({
type: 'POST',
url:'{{url("set-visitor")}}' ,
data: {id: '2', _token: $('#_token').val()},
dataType: 'html',
success: function(data){
var rep = JSON.parse(data);
console.log(data);
if(rep.code == 200)
{
console.log(rep);
}
else{
console.log('error');
}
}
});
public function set_visitor()
{
$id = request('id');
$_token = request('_token');
return Response::json($_token);
}