我在 Codeigniter 中使用 Dropzone。我可以在 Chrome 的网络检查器中看到 URL 被拾取(它向 URL 发送请求),但似乎控制器中的上传功能没有执行。
无论我在 Dropzone 配置中放置什么 URL,网络检查器始终指示它返回 HTTP 200 代码。
看法
<div class="dropzone" id="my_dropzone"></div>
Javascript
Dropzone.autoDiscover = false;
var myDropzone = new Dropzone('#my_dropzone', {
paramName: "file",
url: '/pretty/url/upload-photos',
}
笔记; 无论我在这里放什么 URL 参数,网络检查器总是表明它返回一个 HTTP 200,这对我来说很奇怪。即使我放置了一个不存在的 URL,例如 /asdfasdf。
使用 CodeIgniter,我习惯于在 AJAX 中使用漂亮的 URL,然后将它们映射到路由配置中的控制器,这总是可以正常工作。
我也尝试过直接将函数和控制器的路径作为 URL 参数,比如url: /folder/subfolder/Edit/upload_photos
. 这也不行。
在 config/routes.php
$route['/pretty/url/upload-photos'] = '/folder/subfolder/edit/upload_photos'
在控制器“Edit.php”中(位于应用程序/文件夹/子文件夹中)
public function upload_photos()
{
echo 'test 1';
if(!empty($_FILES)) {
echo 'test 2';
var_dump($_FILES);
}
}