my 2form.php:
<script type="text/javascript" src="mootools.js"></script>
<script type="text/javascript">
function test()
{
url = '2form.php';
var ajax = new Ajax(url, {
method: 'post',
onComplete: function(response) {
document.getElementById('error_upload_logo').innerHTML = response;
}
});
ajax.request();
}
</script>
<?php
if($_FILES)
{
echo "<div>";
foreach($_FILES['name'] as $v)
{
echo $v."<br/>";
}
echo "</div>";
}
else
{ ?>
<form action='' id='form1' name="form1" method="post" enctype="multipart/form-data">
<input type="file" name="name"/>
<input type="submit" name="submit" onclick='test(); return false;'/>
</form>
<?php
}
?>
<div id="error_upload_logo"></div>
如果运行代码没有javascript,它2form.php就像简单的php页面,和
我们可以看到打印到scrreen的$ _FILES信息
但如果我通过test()函数运行javascript,
我在$ _FILES中没有获得信息?
如何获得$ _FILES?点击按钮运行javascript?
我想上传ajax
答案 0 :(得分:2)
您无法使用AJAX进行文件上传,因为您无权访问本地文件。
最常见的解决方法是JQuery Form plugin执行的操作,创建临时iframe并将正常表单提交到其中。