我试图自定义Fileupload基本插件,但我一开始就陷入困境。我使用basic plugin example page中的示例html,只更改了网址:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>jQuery File Upload Example</title>
</head>
<body>
<input id="fileupload" type="file" name="files[]" data-url="upload" multiple>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="js/jquery.ui.widget.js"></script>
<script src="js/jquery.iframe-transport.js"></script>
<script src="js/jquery.fileupload.js"></script>
<script>
$(function () {
$('#fileupload').fileupload({
dataType: 'json',
done: function (e, data) {
$.each(data.result.files, function (index, file) {
$('<p/>').text(file.name).appendTo(document.body);
});
}
});
});
</script>
看起来一切正常,但文件没有上传:目标文件夹中没有文件,x-debug显示$ _FILES完全为空 - 它甚至不包含&#39;文件&#39;键。
我已经在不同的浏览器中测试了它 - 结果是一样的。
我也查看了开发人员工具。每次尝试上传控制台后都说:
XHR finished loading: POST "http://localhost/j3/fu/upload".
但是在网络选项卡中查看GET请求总是被发送,所以我认为这是问题所在。
GET /j3/fu/upload/ HTTP/1.1
Host: localhost
Connection: keep-alive
Accept: application/json, text/javascript, */*; q=0.01
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36 OPR/28.0.1750.48
Referer: http://localhost/j3/fu/
Accept-Encoding: gzip, deflate, lzma, sdch
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
Cookie: currency=USD; area_unit=sqm; b0b171866a6ab587715b9e92d420ca7c=97pi1htvn8vb6j16smtnuslh65; dd66659b0452c6865c97fbf5cf8960e2=58evm1pql2jqsi6pj34a9842p7; XDEBUG_SESSION=netbeans-xdebug
我试图设置&#39;键入&#39;发布&#39;发布&#39;在选项中,还尝试设置data-type =&#34; post&#34;在我的输入元素中,但它没有奏效。
所以有人知道可以做些什么吗?
答案 0 :(得分:2)
确定。在阅读了我自己的问题之后,我已经猜到了解决方案,并且它有效!因此,解决方案是使用 upload / index.php 而不仅仅是上传