使用带有laravel框架的php。我有一个删除请求删除我的网站上的文件条目,它在本地工作正常,但在我的网络服务器上它失败。
// Ajax call
$.ajax({
url: BASE+'/contests/any/entries/any',
type: 'DELETE',
data: {
entry_id : entry_id
},
success: function() {
$(".entry-item#"+entry_id).remove();
}
});
我的路线:
Route::delete('contests/(:any)/entries/(:any)', 'entry@destroy');
控制器方法:
public function delete_destroy() {
$entry = Entry::find(Input::get('entry_id'));
Entry::find($entry->id)->delete();
File::delete(URL::base() . 'public/uploads/' . $entry->filename);
}
当我检查查看Chrome开发人员工具中的网络选项卡的ajax请求时,我在此删除方法中找不到状态404,而它在wamp中本地工作正常。任何人都可以告诉我这里有什么问题以及404没有找到的确切意味着什么?
这里究竟找不到什么?
答案 0 :(得分:1)
实际上,404
未找到意味着您的文件不存在,也可能是因为路径错误而且我认为可能是因为您正在使用
File::delete(URL::base() . 'public/uploads/' . $entry->filename);
返回最可能类似
的东西http://yourdomainpublic/uploads/filename
相反,您可以使用
File::delete(path('public').'uploads/' . $entry->filename);
将输出类似这样的内容
http://yourdomain/public/uploads/filename