0

我需要通过 jquery ajax 将文本区域中的内容加载到 div 中。内容最初通过 jquery 加载到 div 中。当按下按钮时,单击函数通过 ajax 将内容插入数据库,然后将内容重新加载回 div。它有效,但似乎有点零星。我的问题是,有没有更好的方法来做到这一点。

我基本上是在尝试将状态提交到时间线而不刷新页面

<script>
    $.ajaxSetup ({ cache: false });     
    var ajax_load = "<div align='center'><img src='img/ajax-loader.gif' alt='loading...' /></div>";
    var loadUrl = "ajax/ajax.php";
    var loadMe = "functions/status.php";
    $("#result").html(ajax_load).load(loadUrl);

    $("#share-but").click(function() {
        var status = $("textarea#status").val(); 
        $.post(
            loadMe,
            { status: status, user_id: '<?php echo "10" ?>' },
            "html"
        );
        $("#result").html(ajax_load).load(loadUrl);
        $("textarea").val('Share an update');
    });
</script>
4

1 回答 1

0

我猜你应该在服务器响应你的 post 请求时 jquery 执行的回调函数中进行更新

因此您的代码应更改为

<script>
    $.ajaxSetup ({ cache: false });     
    var ajax_load = "<div align='center'><img src='img/ajax-loader.gif' alt='loading...' /></div>";
    var loadUrl = "ajax/ajax.php";
    var loadMe = "functions/status.php";
    $("#result").html(ajax_load).load(loadUrl);

    $("#share-but").click(function() {
        var status = $("#status").val(); 
        $.post(
            loadMe,
            { status: status, user_id: '<?php echo "10" ?>' },
            function(htmlData)
            {
               $("#result").html(htmlData);
               $("textarea").val('Share an update');
            },
            "html"
        );

    });
</script>

因此,这里您的帖子响应是在result容器中设置的 html 数据

于 2012-04-11T09:17:44.973 回答