Php 在laravel中使用AJAX防止令牌不匹配异常的方法
我分析过,得到令牌不匹配错误的比率非常高。这个错误是因为一些愚蠢的错误。开发人员犯错误的原因有很多。下面是一些例子Php 在laravel中使用AJAX防止令牌不匹配异常的方法,php,laravel,laravel-5.2,laravel-5.1,laravel-5.3,Php,Laravel,Laravel 5.2,Laravel 5.1,Laravel 5.3,我分析过,得到令牌不匹配错误的比率非常高。这个错误是因为一些愚蠢的错误。开发人员犯错误的原因有很多。下面是一些例子 不发送头上的令牌 使用ajax时不发送数据上的令牌 在存储路径上没有权限 无效的会话存储路径 还有许多其他原因,请随意编辑此问题,了解更多防止此类错误的方法。可能的更改-1 头上的设置令牌 在default.blade.php视图的上设置令牌 <meta name="csrf-token" content="{{csrf_token()}}"> 在标签上设置令牌 将
还有许多其他原因,请随意编辑此问题,了解更多防止此类错误的方法。可能的更改-1 头上的设置令牌 在
default.blade.php
视图的
上设置令牌
<meta name="csrf-token" content="{{csrf_token()}}">
在
标签上设置令牌
将下面的函数添加到您的
标记中。此函数将生成名为\u token
的隐藏字段,并用token填充值
{{csrf_field()}}
将csrf\u token()
函数添加到值属性中隐藏的\u token
。这将只生成加密字符串
可能的变化-2 检查会话存储路径和权限 这里假设项目app url是
app\u url=http://project.dev/ts/toys-store
存储路径('framework/sessions')
'path'=>'/ts/toys store',
此路径是您的laravel项目的根“cookie”=>“玩具店”
return [
'driver' => env('SESSION_DRIVER', 'file'),
'lifetime' => 120,
'expire_on_close' => false,
'encrypt' => false,
'files' => storage_path('framework/sessions'),
'connection' => null,
'table' => 'sessions',
'lottery' => [2, 100],
'cookie' => 'toys-store',
'path' => '/ts/toys-store',
'domain' => null,
'secure' => false,
'http_only' => true,
];
可能的变化-3 在AJAX上使用
\u令牌
字段
在AJAX调用中发送\u令牌
的方法有很多
var formData=new formData($(“#购物车添加”)[0]),获取
标记中所有输入字段的值代码>
$(“#购物车添加”).serialize()
或$(“#购物车添加”).serializeArray()代码>
\u令牌
。使用$('meta[name=“csrf-token”]').attr('content')
或$('input[name=“\u-token”]').val()
$.ajax({
url: "path/to/ajax",
type: "POST",
data: formData,
processData: false,
contentType: false,
dataType: "json",
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
可能的变化-1 头上的设置令牌 在
default.blade.php
视图的
上设置令牌
<meta name="csrf-token" content="{{csrf_token()}}">
在
标签上设置令牌
将下面的函数添加到您的
标记中。此函数将生成名为\u token
的隐藏字段,并用token填充值
{{csrf_field()}}
将csrf\u token()
函数添加到值属性中隐藏的\u token
。这将只生成加密字符串
可能的变化-2 检查会话存储路径和权限 这里假设项目app url是
app\u url=http://project.dev/ts/toys-store
存储路径('framework/sessions')
'path'=>'/ts/toys store',
此路径是您的laravel项目的根“cookie”=>“玩具店”
return [
'driver' => env('SESSION_DRIVER', 'file'),
'lifetime' => 120,
'expire_on_close' => false,
'encrypt' => false,
'files' => storage_path('framework/sessions'),
'connection' => null,
'table' => 'sessions',
'lottery' => [2, 100],
'cookie' => 'toys-store',
'path' => '/ts/toys-store',
'domain' => null,
'secure' => false,
'http_only' => true,
];
可能的变化-3 在AJAX上使用
\u令牌
字段
在AJAX调用中发送\u令牌
的方法有很多
var formData=new formData($(“#购物车添加”)[0]),获取
标记中所有输入字段的值代码>
$(“#购物车添加”).serialize()
或$(“#购物车添加”).serializeArray()代码>
\u令牌
。使用$('meta[name=“csrf-token”]').attr('content')
或$('input[name=“\u-token”]').val()
$.ajax({
url: "path/to/ajax",
type: "POST",
data: formData,
processData: false,
contentType: false,
dataType: "json",
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
你有答案吗?这是我对我问题的答案。这些都是防止令牌不匹配的方法,例外你们有答案吗?这是我对我的问题的答案。这些是防止令牌不匹配异常的方法