一直在梳理论坛和尝试一切,我完全陷入困境。这里是我的形式:Laravel 5使用csrf标记发布后的Ajax 500错误
{!! Form::open(['data-regphoto', 'method' => 'POST', 'url' => ['/registerphoto']]) !!}
<input type="hidden" id="token" value="{{ csrf_token() }}">
<button type="submit" class="btn blue" id="savebutton">Save</button>
{!! Form::close() !!}
这里是我的Ajax调用:
$('form[data-regphoto]').submit(function (e) {
e.preventDefault();
console.log('photo pass to func: ' + data);
var form = $(this);
var url = form.prop('action');
var token = $('#token').val();
$.ajax({
type: 'POST',
url: url,
data: {'_token': token, 'photo': data },
async: true,
success: function() {
if(message) {
console.log('sucess: ' + data);
//$('.flash').html(message).fadeIn(400).delay(1200).fadeOut(600);
}
}
});
});
这里是我的路线:
Route::post('/registerphoto', '[email protected]');
这里是我的控制台错误:
POST http://localhost:8000/registerphoto 500 (Internal Server Error)
n.ajaxTransport.k.cors.a.crossDomain.send @ jquery.js:8625
n.extend.ajax @ jquery.js:8161
(anonymous function) @ [email protected]&firstname=Test&lastname=McTest&account=4&role=admin&permissions=p1p…:374
n.event.dispatch @ jquery.js:4430
n.event.add.r.handle @ jquery.js:4116
我不是很肯定,但尝试删除显式声明隐藏的输入,当你做{{表::打开()}} laravel自动生成的隐藏字段 –
不应该'{! Form :: open(['data-regphoto','method'=>'POST','url'=> ['/ registerphoto']])!!}'be'{!! Form :: open('data-regphoto',['method'=>'POST','url'=> ['/ registerphoto']])!!}'? – ntzm
试过这仍然得到从控制台中的jquery返回500错误 –