我正在开发一个Laravel应用程序,我有一个表单内置到我的javascript,我动态尝试设置动作和方法,并根据我的下拉选择的值发布表单。
表格代码:
function _RemoveForm(url){
var delete_form = '{{ Form::open(array("method" => "GET", "id" => "_RemoveForm")) }} {{ Form::close() }}';
return delete_form;
}
当我在js中使用form.submit()发布此表单时,我可以路由/重定向到编辑或索引,但是当我发布此表单以进行销毁时,需要方法是' post'它显示
TokenMismatchException in VerifyCsrfToken.php line 68:
是否可以创建这样的表单并发布到操作?或者我应该尝试其他方法。
编辑:
表格是从这样的字符串创建的:
var form = "{{ Form::open(array("method" => "GET", "id" => "_RemoveForm")) }} {{ Form::close() }}";
$("body").append(form);
form = $("#_RemoveForm");
form.attr('action', url);
if(method == 'delete'){
form.attr('method', 'post');
form.append('<input name="_method" type="hidden" value="DELETE">');
}
form.submit();
这是在下拉列表的更改事件中完成的。
答案 0 :(得分:0)
CSRF令牌是否随您的请求一起发送? e.g。
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
}
});
<meta name="_token" content="{{ csrf_token() }}">