我目前有php和javascript的问题。事情就是这样:我试图每隔几秒钟编辑一个存储在服务器上的文本文件,客户端在textarea中写入文本(id为' area1')
PHP:
<span id="write">
<?php
if(isset($_POST['text']))
{
file_put_contents('file.txt', $_POST['text']);
}
?>
</span>
Javascript:
window.onload = function(){
t = setInterval(load, 2000);
function load()
{
$.ajax({
type: "POST",
url: "test.php",
data: {
text: $('#area1').val()
},
dataType: "text",
success: function(data) {
$('#write').load('test.php #write');
}
});
}
}
然而,即使我们输入了isset条件(我测试过),也没有在file.txt中写入任何内容。
为什么它不起作用?我们不能使用带有file_put_contents的jquery加载吗?或许这是一个愚蠢的错误,我无法看到......
谢谢!
答案 0 :(得分:1)
您是否尝试过使用$ .post?它更简单,更清晰。 以下是完整的工作代码。
<html>
<head>
<script src="//code.jquery.com/jquery-2.1.4.min.js"></script>
</head>
<body>
<form>
<textarea id="area1"></textarea>
<textarea id="write"></textarea>
</form>
<script>
$(document).ready(function(){
t = setInterval(load, 2000);
function load()
{
$.post( "test.php", { text: $('#area1').val() })
.done(function( data ) {
$('#write').load('test.php #write');
});
}
});
</script>
</body>
</html>
还要确保您的php脚本有权添加文件。
使用(sudo) chown apache *folder*
或类似内容。