2

したがって、現在の問題は ajax 自体にあるのではなく、データを取り戻したらどうすればよいかということです。動的コンテンツのクラスにデータを追加しようとすると、大きな問題が発生します。ajax リクエストを実行するコードは次のとおりです。ここでも ajax は期待どおりに動作しますが、返されたデータを先頭に追加しようとすると、サイト ( http://readysetfail.com ) のすべての投稿に追加されます。

                     /*
         * This is the ajax
         */
        $(".reply").on( "submit" , function(){
        // Intercept the form submission
        var formdata = $(this).serialize(); // Serialize all form data

        // Post data to your PHP processing script
        $.post( "/comment.php", formdata, function( data ) {
            // Act upon the data returned, setting it to #success <div>
            $(this).parent('.post_comment').children('.view_comments').prepend(data);
            $('.hidden').hide();
        });
           return false;
        });
        /*
         * End ajax
         */

これをひどく説明している場合は申し訳ありませんが、要約として、これは私が理想的に望んでいるものです。ユーザーが [コメントの投稿] を押すと、正しい投稿に投稿したコメントがフェードインします。

ありがとうございます!

ジョン

解決しました!

それは簡単な解決策でした.jquery変数を次のように保存したので、ナビゲートできました:)

$(".reply").on( "submit" , function(){
        // Intercept the form submission
        var formdata = $(this).serialize(); // Serialize all form data
        var reply = $(this); 

        // Post data to your PHP processing script
        $.post( "/comment.php", formdata, function( data ) {
            // Act upon the data returned, setting it to .success <div>
            reply.parent().next().prepend(data);
            $('.hidden').hide();
        });
        return false;
        });
4

2 に答える 2

0

div id をいくつかの変数に保存し、ajax 呼び出しの後に使用できます

例えば

 $(".reply_comment").on( "submit" , function(event){

     event.preventDefault(); 
    var formdata = $(this).serialize();
     $.post( "/comment.php", formdata, function( data ) {

        $(this).parent('.view_comments').prepend(data);
        $('.hidden').hide();
    });
 });
于 2012-05-11T22:39:07.217 に答える
0
$(".reply").on("submit" , function(e) {
      e.preventDefault();
      var formdata = $(this).serialize();
      $.post( "/comment.php", formdata, function( data ) {
           $(this).siblings('.view_comments').prepend(data);
           $('.hidden').hide();
      });
});
于 2012-05-12T01:26:17.867 に答える