我看到了很多关于这个主题的问题,但似乎没有一个能解决我的问题。这一切看起来都很简单,但我只是得到一个空白数组,我是否在这里遗漏了一些非常简单的东西?
谢谢。
这是html/javascript
代码:
<script type="text/javascript" src="/javascript/jquery.js"></script>
<form enctype="multipart/form-data" action="" id="frmProduct" method="post">
<input type="file" id="pdffile" name="pdffile" size="50" />
<br />
<input id="pdffileupload" type="submit" value="Upload" />
</form>
<script>
$('#pdffileupload').bind('click', function ()
{
var files=document.getElementById('pdffile').files[0];
var fd = new FormData();
fd.append( "pdffile", files);
$.ajax({
url: '/info.php',
type: 'POST',
cache: false,
data: fd,
processData: false,
contentType: false,
success: function(data) { alert("YES"); },
error: function(data){ alert("NO"); }
});
return false;
});
</script>
& PHP info.php
<?php
var_dump($_FILES);
?>
最佳答案
需要更改(只需尝试我的所有建议检查一次):-
1.将两个文件放在同一文件夹中(同一工作目录)。
代码更改:-
<script src="https://code.jquery.com/jquery-1.12.0.min.js"></script> <!-- add jquery library like this -->
<form enctype="multipart/form-data" action="" id="frmProduct" method="post">
<input type="file" id="pdffile" name="pdffile" size="50" />
<br />
<input id="pdffileupload" type="submit" value="Upload" />
</form>
<script>
$('#pdffileupload').bind('click', function ()
{
var files=document.getElementById('pdffile').files[0];
var fd = new FormData();
fd.append( "pdffile", files);
$.ajax({
url: 'info.php', // remove /
type: 'POST',
cache: false,
data: fd,
processData: false,
contentType: false,
success: function(data) { alert("YES"); },
error: function(data){ alert("NO"); }
});
return false;
});
</script>
在 php 中
<?php
print_r($_FILES);
?>
注意:- 检查您的浏览器控制台(响应选项卡)。
关于javascript - PHP - AJAX - JAVASCRIPT - $_FILES 空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36447049/