带有jquery reload的file_put_contents?

时间:2015-06-24 10:46:05

标签: javascript php jquery ajax

我目前有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加载吗?或许这是一个愚蠢的错误,我无法看到......

谢谢!

1 个答案:

答案 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*或类似内容。

祝你好运!