Ajax删除请求无法在远程网站上运行

时间:2013-05-27 21:44:33

标签: ajax request laravel eloquent laravel-3

使用带有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没有找到的确切意味着什么?

这里究竟找不到什么?

1 个答案:

答案 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