【发布时间】:2014-07-29 07:04:42
【问题描述】:
试图通过发布编辑表单上的 ajax 发布请求删除上传的图像。但是我遇到了一些问题,当我按下删除按钮时 - 它成功发送带有图像路径的 ajax 发布请求,然后在我的控制器中我试图删除该文件,但它没有删除它。
这是我的 js:
(function($) {
$('.del-image').click(function() {
var thisUrl = $('.col-md-10 img').attr('src');
$.ajax({
method: 'post',
url: '/del-image',
data: {imgUrl: thisUrl, id: pageId},
error: function(e) {
alert('Error' + e);
}
});
});
})(jQuery);
然后在控制器中我收到 ajax 发布请求:
public function deleteImage() {
if (Request::ajax()) {
$path = Input::get('imgUrl');
File::delete($path);
return 'ajax request';
}
return App::abort(404);
}
在 routes.php 我有:
Route::any('del-image', array('uses' => 'PageController@deleteImage'));
任何帮助将不胜感激!
【问题讨论】:
-
您确定
AJAX请求正在发送到您的控制器,而您得到的是什么,是否有任何错误消息?您的文件保存在哪里(在公共文件夹中)? -
没有错误消息,在控制台中,当我单击删除按钮时,我会看到消息“ajax 请求”。
-
试试
try{ File::delete($path); return 'ajax request'; } catch(Exception $e) { dd($e); } -
还要确保
path是正确的并且拥有write权限。 -
我在你的
AJAX调用中没有看到success方法,你怎么在console看到'ajax request'。
标签: jquery ajax laravel laravel-4