当我尝试执行Ajax帖子时出现500内部服务器错误,请帮忙。
@foreach($influencer->categories as $category)
<div class ="cat_sec" cid="{{ $category->id }}">
<tr><td>{{ $category->category_name }}</td>
<td><a class="btn btn-danger btn-xs remove_button" href="{{ route('ajax_remove_cat', array('inf_id'=>$influencer->id,'cat_id'=>$category->id)) }}">Remove</a></td>
</tr>
<div>
@endforeach
@section('scripting')
<script type="text/javascript">
$('.remove_button').click(function(event) {
event.preventDefault();
var myurl = $(this).attr('href');
var jqxhr = $.ajax({
url:myurl,
type:'POST',
}).done(function() {
var response = JSON.parse(jqxhr.responseText);
var element = $("[cid='"+(response.cat_id)+"']");
$(element).removeClass('cat_sec');
}).fail(function() {
alert("Failure! "+jqxhr.responseText);
});
});
</script>
@stop
和控制器,
public function ajax_remove_cat(Request $request, $inf_id, $cat_id) {
$user = Auth::user();
$agent = $user->getTypeModel();
$influencer = $this->influencer->findBYId($inf_id);
DB::table('categories_influencers')->where('categories_id', $cat_id)->delete();
if($request->ajax()) {
return response()->json(array('responsecode'=>'1','action'=>'delete','cat_id'=>$request->route('cat_id')));
}
}
我是laravel的新手,真的不知道问题出在哪里,请帮助我解决这个问题。
答案 0 :(得分:0)
你得到500错误的原因是默认情况下Laravel使用它的HTTP Middleware to protect against CSRF attacks。您需要添加包含_token
值的csrf_token()
。
如果最好使用帖子,请不要求助。例如,如果您实际导航到该路线会发生什么?