我的项目是从用户处获取输入并使用ajax和php将其写入JSON格式文本文件的末尾。问题在于php只会将时间和日期写入文件的末尾,而没有其他内容。我从之前的帖子中拿出了这个例子,并将其修改为我的目的。这里的HTML movie.html:尝试使用Ajax和PHP将JSON数据写入到txt文件
MOVIE NAME:
这里的其中通过Ajax发送数据的movie.js文件:
function addStuff(){
var movie_name_entered = document.getElementById("box").value;
var movieList = document.getElementById("list");
var hr= new XMLHttpRequest();
var url= "movie.php";
hr.open("POST",url,true);
hr.setRequestHeader("Context-type","application/x-www-form-urlencoded");
var param = "film=" + movie_name_entered;
hr.setRequestHeader("Content-length", param.length);
hr.setRequestHeader("Connection", "close");
hr.onreadystatechange= function(){
if(hr.readyState==4 && hr.status==200){
var return_data=hr.responseText;
console.log(hr.responseText);
document.getElementById("status").innerHTML=return_data;
}
}
hr.send(param);
document.getElementById("status").innerHTML = "processing...";
}
这里的PHP(顺便说一句,我console.logged数据被发送到PHP的,这是正确的):
if($_POST){
$data = $_POST["film"];
$file ='movie.txt';
$fp = fopen($file, "a");
$encoded = json_encode($data);
fwrite($fp, $encoded);
fclose($fp);
return $encoded;}
?>
如上所述,代码只有更不管我做什么,写的时间和日期的文本文件,并没有什么。我测试了正在发送的数据以及它的有效$ _POST数据。我不知道要如何继续。任何helop将不胜感激。谢谢!
2014-12-04
Khthulhu
+0
是的,我确定。该文本文件被称为movie.txt并在php文件中被引用。它与其他3个文件位于同一目录中,并且是唯一被php更新的文件。我认为时间/日期戳可能表明交换发生的时间而不是实际数据。 –
2014-12-04 20:58:37
+0
好吧,事实证明,每当我测试应用程序时,我的桌面上都会打开文本文件,我用Ctl + f5来刷新它。该操作将日期/时间粘贴到空的(似乎是)文本文件中。我尝试了下面列出的代码,并做了相同的结果。然后我尝试下面的代码并关闭文本文件并重新打开它,然后瞧,它工作。 –
2014-12-05 02:05:18