500内部服务器错误Ajax Laravel
我正在尝试发布POST
http://localhost:8888/test
JS
$('.saveBTN').click(function (event) { $( "form#editForm" ).on( "submit", function( event ) { event.preventDefault(); var inputs = {}; $("#editForm :input").each(function() { inputs[$(this).attr("name")] = $(this).val(); }); var $inputs = JSON.stringify(inputs); $.ajax({ headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')}, url: '/test', type: 'POST', dataType: 'json', data: $inputs, success: function (data, textStatus, xhr) { console.log(data); }, error: function (xhr, textStatus, errorThrown) { console.log('PUT error.'); } }); });
我一直在
500内部服务器错误
我试过补充一下
这是我的Ajax
headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
任何提示都将非常感谢!
在表格下方添加此内容。
// This will generate token field which will be token {{ csrf_field() }} // Expected Output
VerifyCsrfToken.php
– 文件是middleware
,它包含在Web中间件组中,将自动validation请求输入中的令牌是否与会话中存储的令牌匹配。
有关更多信息,请参阅此URL: http : //laravel.com/docs/master/routing#csrf-x-csrf-token
更新 – 2016年12月23日
从laravel开始,您也可以使用以下内容。
API参考: https : //laravel.com/docs/master/routing#form-method-spoofing
就像@Paulpro和@Mark Davidson在评论中提到的那样, meta
标记应该具有content
属性而不是值:
代替 :
希望这可以帮助。