Javascript 通过XMLHttpRequest传递纯文本文件失败
我试图通过XMLHttpRequest发送用户上传的文本文件,代码如下: HTML 但是,对于下面的PHP代码,我没有从文本文件服务器端接收任何数据Javascript 通过XMLHttpRequest传递纯文本文件失败,javascript,php,html,xml,Javascript,Php,Html,Xml,我试图通过XMLHttpRequest发送用户上传的文本文件,代码如下: HTML 但是,对于下面的PHP代码,我没有从文本文件服务器端接收任何数据 <?php $file = $_FILES['thefile']; $table_type=$_REQUEST["table_type"]; $Choose_Class=$_REQUEST["Choose_Class"]; $fh = fopen($file, 'r'); $theData = fread($fh, filesize($fil
<?php
$file = $_FILES['thefile'];
$table_type=$_REQUEST["table_type"];
$Choose_Class=$_REQUEST["Choose_Class"];
$fh = fopen($file, 'r');
$theData = fread($fh, filesize($file));
fclose($fh);
echo $theData;
?>
这方面的任何帮助都将非常好,谢谢。尝试将[“tmp_name”]添加到文件字符串中。所以:$file=$\u FILES['thefile']['tmp\u name']代码>
这将获取文件的临时位置。查看您的代码,其他一切似乎都很好。使用AJAX无法轻松上传文件。(你可以很难使用某些浏览器,但我还没有找到IE的方法,而且每个浏览器都不同。你最好提交Form。不可能使用FormData对象包装纯文本文件吗?这完全可能,我一直都在这样做。谢谢!这正是我现在想要的。
function Upload_Text()
{
var file = document.getElementById("file").files[0];
var table_type = 2;
if (document.myform.Table_Name_Text[0].checked == true) {table_type = 1;}
var Choose_Class = document.getElementById("Choose_Class").value;
var formData = new FormData();
var xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var result = xmlhttp.responseText;
alert(result);
}
}
var url = "Upload_Text.php";
url = url + "?table_type="+table_type;
url = url + "&Choose_Class="+Choose_Class;
formData.append("thefile", file);
xmlhttp.open('POST', url, true);
xmlhttp.send(formData);
}
<?php
$file = $_FILES['thefile'];
$table_type=$_REQUEST["table_type"];
$Choose_Class=$_REQUEST["Choose_Class"];
$fh = fopen($file, 'r');
$theData = fread($fh, filesize($file));
fclose($fh);
echo $theData;
?>