我正在学习ajax,我跟着教程通过php脚本发布一些数据到文本文件,但我无法让它工作。有没有我错过的东西?ajax没有发布到文本文件
下面是ajax.html页面这是一个输入文本与按钮通过AJAX张贴数据
<form name="testform">
\t \t Off Min:<input name="setOffMin" type="text" id="setOffMin" maxlength="2" size="1"/></br>
\t \t
\t \t <button type="button" onclick="postStuff();">Submit</button>
</form>
<div id="status"></div>
<script type="text/javascript">
\t function postStuff(){
\t \t var hr = new XMLHttpRequest();
\t \t var url = "update.php";
\t \t var offM = document.getElementById("setOffMin").value;
\t \t hr.open("POST", url, true);
\t \t hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
\t \t hr.onreadystatechange = function(){
\t \t \t if (hr.readyState == 4 && hr.status == 200){
\t \t \t \t var return_data = hr.responseText;
\t \t \t \t document.getElementById("status").innerHTML = return_data;
\t \t \t }
\t \t }
\t \t hr.send(offM);
\t \t document.getElementById("status").innerHTML = "processing...";
\t \t
\t }
</script>
这是update.php文件
<?php
$setOffMin = $_POST["offM"];
$f = fopen("test.txt", "w");
fwrite($f, $setOffMin);
fclose($f);
?>
我昨晚一直在查看这些代码,并且无法确定它为什么不将数据写入文本文件。 我已经运行php脚本编辑$ _POST并放入一个变量,它确实写入文本文件。所以PHP应该工作,文本文件的权限是正确的。我期望这是我做错了的ajax。 任何帮助将是巨大的
HTTPS
var offM = 'offM='+document.getElementById("setOffMin").value;
现在://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Submitting_forms_and_uploading_files'offm'包含一个字符串值,而不是一个paramstring,因此它不发送post-params以你期望的方式。 –
对不起,不了解你指向这一点。感谢您的链接,我将不得不阅读此 – user2669997