1

私はこのajax関数を持っています。テキストエリアの値を取得し、それを変数として設定し、それを instagram に送信します。できます。

ページを更新せずに、投稿されたコメントを表示するために、テキスト領域の値を div に追加したいと考えています。これは基本的に一時的に表示されるコメントで、ページがリロードされると instagram からの実際のコメントに置き換えられます。

まず、私がやろうとしていることは、これらすべてのエラー フィールドにあることを無視してください。地元で仕事をしているため、成功してもうまくいかず、入れ替わってしまいます。今は関係ありません。

私が抱えている問題は、テキスト領域からデータを追加すると、複数回追加されることです。現在、私のページにはinstagramから4枚の画像が表示されています。各写真にテキスト領域データを 4 回追加し、データを isntagram に送信せず、偽のコメントを追加するだけです。

Instagramから2つの画像を削除すると、画像ごとに2回追加されます...なぜこれを行うのですか?フォームを送信すると、そのdivに画像が1回追加されるようにするにはどうすればよいですか? .

これがコメントを送信するための私の関数です。

function instaComment(){

    $('.messageTextarea').keydown(function() {
        if (event.keyCode == 13) {
            this.form.submit();
            return false;
         }
    });

    $('.button').live('click', function(){


        var name = $(this).siblings('.messageTextarea').val();
        var dataString = name;

        $.ajax({
        dataType: 'json',
          url: "https://api.instagram.com/v1/media/"+$(this).attr('data-the_id')+"/comments?"+hash,
          type: "POST",
          data: "text="+dataString,
          success: function(data) {
              // finish load
            console.log(data, dataString, 'succ');
          },
            error: function(data) {
                for (i=0; i < instadata[0].data.length; i++){
                    var username = instadata[0].data[i].user.username;
                    var profilepic = instadata[0].data[i].user.profile_picture;

                    console.log(data, dataString, 'succ');
                    $(this).each(function() {
                        $('.messageComments').append('<li><img class="commentUserImg" src="' + profilepic + '"><div class="commentUser">' + username + '</div><div class="commentText">' + dataString + '</div></li>');
                    });


                }
        }
    });
    return false;
});
}
4

1 に答える 1

0

よくわかりませんが、あなたの問題はこのコード行にあると思います

  $(this).each(function() {
                        $('.messageComments').append('<li><img class="commentUserImg" src="' + profilepic + '"><div class="commentUser">' + username + '</div><div class="commentText">' + dataString + '</div></li>');
                    });
于 2012-10-27T01:34:42.287 に答える