私はこの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;
});
}