0

jqueryajaxを介してテキスト領域から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 に答える