我想用DELETE方法從數據庫中刪除行,並在我的Laravel 5.2項目中使用AJAX。一切正常,圖片從服務器上刪除,行從數據庫中刪除,但刪除後重定向到JSON響應。即使阻止了Ajax DELETE重定向
我的控制器的動作:
public function deletePhoto(Photo $photo)
{
if ($photo->delete()) {
unlink('files/' . $photo->filename);
unlink('files/thumbs/' . $photo->filename);
return response()->json(['result' => 0]);
}
return response()->json(['result' => 1]);
}
它同時添加照片(它增加了,但不重定向)以這種方式工作。
這裏是我的Ajax代碼:
$('#deleteForm').submit(function(e) {
var currentElement = $(this);
var formUrl = $(this).attr('action');
$.ajax({
type: 'POST',
url: formUrl,
data: {_method: 'delete', _token: '{{ csrf_token() }}'},
success: function(data) {
if (data.result == 0) {
currentElement.parent().fadeOut(400, function() {
$(this).remove();
});
} else {
alert('Wystąpił błąd podczas usuwania zdjęcia! Proszę spróbować ponownie!');
}
}
});
return false;
});
我試圖用許多方法改變(從laracast和計算器),令牌和數據,但毫無效果。
我該如何解決這個問題?
我也有'dataType:'json''和緩存,contentType,processData設置爲false但沒有任何工作。 –
它是什麼意思,它重定向到JSON響應?請求發出後,頁面正在重定向? – Frisbetarian
確切地說,它應該停留在刪除頁面,但是它會使用JSON結果重定向到空白頁面。 –