次のコードを使用して、正確に機能する ajax リクエストを送信していますが、ユーザーがリンクを複数回クリックすると問題が発生するため、リンクを無効にして、ユーザーが 2 回目にクリックしたときに ajax が呼び出されないようにします。
.html.erb
<%= link_to("Sports", "#", :class => "school_activity", :p_type => "Sport", :o_type => "")%>
JavaScript
jQuery(function () {
jQuery('.school_activity').click(function () {
link = jQuery(this);
p_type = link.attr('p_type');
o_type = link.attr('o_type');
jQuery('.i-link a').removeClass('stream_wall_select');
jQuery.ajax({
type:"GET",
url:'<%= some_path(@school) %>',
data:'format=js&p_type=' + p_type + '&tagged_type=' + o_type,
success:function (response) {
jQuery('#s_activity_div').html(response);
}
});
})
})
パラメータ true/false を設定するようなことはしたくなく、それに依存して ajax リクエストを送信します。
非常に一般化されており、自分のサイトのすべての ajax リンクに適用できるものが必要です。