javascript - file_put_contents 与 jquery 重新加载?

标签 javascript php jquery ajax

我目前遇到 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/

相关文章:

javascript - 如何使用 node.js req.pipe(res) 将视频响应发送到 html 播放器

JavaScript 在尝试创建私有(private)函数时与闭包混淆

php - 在 PHP 7.3 扩展中通过引用传递多个变量

php - 防止直接访问,是否可以欺骗 php 定义?

javascript - 如何从异步调用返回响应?

javascript - 期待一个条件表达式,而是看到一个赋值

php - Nodejs连接数据库出错

javascript - UI可排序移动滚动

php - 如何将一个jquery变量传递给php然后显示它

javascript - 准确检查页面左侧的距离?