我目前遇到 php 和 javascript 的问题。事情是这样的:我试图每隔几秒钟编辑一个存储在服务器上的文本文件,其中包含客户端在文本区域(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 中也不会写入任何内容。
为什么它不起作用?我们不能使用 jquery load 和 file_put_contents 吗?或者这是一个我看不到的愚蠢错误...
谢谢!
最佳答案
您尝试过使用 $.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*
或类似的。
祝你好运!
关于javascript - file_put_contents 与 jquery 重新加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31024501/