【发布时间】:2017-02-19 22:10:48
【问题描述】:
我收到下一个错误:
jquery-2.2.4.min.js:4 DELETE http://company.dev/admin/portfolio/settings/category/delete/7 500(内部服务器错误)
我不确定它是什么,因为我认为我有正确的路线并且还提供了 csrf 令牌(对 laravel 来说还是相当新的)
路线:
Route::delete('/admin/portfolio/settings/category/delete/{id}', [
'as' => 'categoryDelete',
'uses' => 'PortfolioController@destroy'
]);`enter code here`
阿贾克斯:
$(".deleteProduct").click(function(){
var id = $(this).data("id");
var token = $(this).data("token");
$.ajax(
{
url: "/admin/portfolio/settings/category/delete/"+id,
type: 'DELETE',
dataType: "JSON",
data: {
"id": id,
"_method": 'DELETE',
"_token": token
},
success: function ()
{
console.log("it Work");
}
});
console.log("It failed");
});
删除按钮:
<button class="deleteProduct" data-id="{{ $category->category_id }}" data-token="{{ csrf_token() }}" >Delete Category</button>
删除函数:
public function destroy(Request $request, $id)
{
Category::find($id)->delete();
return response()->json([
'success' => 'Record has been deleted successfully!'
]);
}
【问题讨论】:
-
如果出现令牌问题,它不会是 500
-
你可以试试:
Route::delete('/admin/portfolio/settings/category/delete/{id}', 'PortfolioController@destroy');和die('route works');内部控制器(销毁功能)。您的请求中是否调用了仅删除 http 方法?