app.jss文件
Copy Bundle Resource
我的脚本在查看代码中
$('#modal-save').on('click', function(){
// geting the properties
$.ajax({
method:'POST',
url: url,
data: {body: $('#post-body').val(), postId: postId , _token: token}
})
// after done
.done(function(msg) {
$(postBodyElement).text(msg['new_body']);
$('#edit-modal').modal('hide')
});
});
路由文件
<script>
var token = '{{ Session::token() }}';
var url = '{{ route('edit') }}';
</script>
我的控制器文件
Route::post('/edit', [
'uses'=>'PostController@postEditPost',
'as'=>'edit'
]);
答案 0 :(得分:0)
您将ajax请求发送到服务器,但在控制器中却不这样接受。 试试这个:
// updating the post content
$post->body = $request['body'];
$post->update();
if(request()->expectsJson()){
return response()->json(['new_body' => $post->body], 200);
}
//here you can return to whereever you need it if its not ajax
return redirect('/');
答案 1 :(得分:0)
由于VerifyCsrfToken
中间件,您必须为每个CSRF
请求提供post, put, delete
令牌。
在head
标签内添加元标签
<meta name="csrf-token" content="{{ csrf_token() }}">
然后在您的ajax请求中使用它
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
请参见X-CSRF-TOKEN