使用Ajax编写服务器文本文件

时间:2014-11-16 20:33:12

标签: javascript ajax post

我一直在努力用Ajax编写服务器文本文件,如果有人有时间看看,我会真的很难过。简单来说,为什么以下代码不会将'testdata'写入test1.txt?

<!DOCTYPE html>
<html>
<head>
<script>

var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
 if (xmlhttp.readyState==4 && xmlhttp.status==200)
  {
alert('done')
  }
}

xmlhttp.open("POST","test1.txt",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("testdata");


</script>
</head>
<body>

</body>
</html>

我已经成功地使用GET读取文本文件。如果我用

替换3个关键线
xmlhttp.open("GET","test1.txt",true);
xmlhttp.send();

它有效。

上面的代码有什么问题,或者这是文件权限问题?我正在使用GoDaddy并给予写入权限,以便我可以用php修改上述文本文件。

非常感谢任何帮助。

提前致谢!

乔尔

1 个答案:

答案 0 :(得分:1)

现在就开始工作了 - 谢谢亚历克斯!这些是工作文件:

<!DOCTYPE html>
<html>
<head>
<script>

var xmlhttp;
if (window.XMLHttpRequest)
 {// code for IE7+, Firefox, Chrome, Opera, Safari
 xmlhttp=new XMLHttpRequest();
 }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
  {
alert('done')
 }
}

xmlhttp.open("POST","phpwrite2.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("name=Joel");


</script>
</head>
<body>

</body>
</html>

和PHP:

<?php
$myFile = "ttt.txt";

$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = $_POST["name"];
fwrite($fh, $stringData);
fclose($fh);
?>