【发布时间】:2014-02-24 15:59:20
【问题描述】:
我通过 AJAX 提交表单的目的是为了显示预先选择的图像。从本地驱动器中选择图像将触发文件类型输入的“onchange”事件,然后调用 AJAX 例程。它工作正常,并且在成功执行“move_uploaded_file”后,PHP 处理程序会返回经过验证的文件名。下面说明了 AJAX 提交是如何实现的:
var xhr = new XMLHttpRequest();
var xForm = new FormData(document.forms.namedItem("form"));
xhr.open("POST", "handler.php", true);
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200){
document.getElementById("imgDiv").src = xhr.responseText;
}
}
xhr.send(xForm);
除了让处理程序返回文件名之外,还有什么方法可以在 AJAX 提交返回后访问 $_POST 和 $_FILES 变量?这通常在从普通形式的帖子返回时是可能的,使用:
<?php echo $_POST['stringInput'];?>
<?php echo $_FILES['imageInput']['fileName'];?>
但在这种情况下我什么也得不到。
谢谢你,
索菲亚
编辑: 如果可能相关,处理程序不在同一个 HTML 脚本中,而是在单独的 PHP 文件中。再次感谢!
【问题讨论】:
标签: javascript php ajax xmlhttprequest