上传文件报TokenMismatchException异常
使用ajaxupload插件上传文件时报TokenMismatchException错误,但我已在页面加载的时候执行了
文档上说,这样所有ajax请求都会附带这个token,但为什么还会报这个异常呢,小白求解啊.......................
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
文档上说,这样所有ajax请求都会附带这个token,但为什么还会报这个异常呢,小白求解啊.......................
2 个回复
Bing
赞同来自: KurobaTouichi
2.1楼的答案,在js文件直接使用 {{csrf_token()}} 是不正确的。{{token(()}}是在PHP服务器端解析的。而JS文件是在客户端解析的,你把这个{{token}}发到客户端,浏览器根本不认识 无法解析 也就无法产生token。
3. 正确的罗辑应该是 在 meta标签内产生 跟session相关的token -> JQuery 在提交表单时 自动带上这个token -> 服务器验证token -> 处理表单。
4.请看这篇帖子 http://wenda.golaravel.com/question/650
kelson
赞同来自: KurobaTouichi
注意两点:
第一、$.ajaxSetup()必须在你执行Ajax之前执行
第二、正确的代码是