Я использую Ruby on Rails 3.0.7 и jQuery 1.6.1 и привязываю событие щелчка AJAX к выводу link_to
HTML, как в следующем примере:
link_to 'Link name', '#', :id => 'link_css_id'
Как видите, я установил URL на #. Делая это, когда я нажимаю на ссылку, текущее представление также будет перемещено вверху страницы. Так как мне не нравится это поведение, я ничего не установил (то есть nil
или ''
) для параметра URL, но при нажатии на ссылку я получаю предупреждающее сообщение «ошибка», которое сразу после исчезновения. Затем в консоли Firebug я получаю:
uncaught exception: [Exception... "prompt aborted by user" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: resource://gre/components/nsPrompter.js :: openTabPrompt :: line 468" data: no]
Как я могу решить эту проблему и избежать перехода вверху страницы при нажатии на ссылку?
Запрос AJAX:
$jQ('#link_css_id').bind('click', function() {
$jQ.ajax({
type: "POST",
url: "<%= user_url(@current_user)%>/test_method",
data: "test_data=test",
error: function(jqXHR, textStatus, errorThrown) {
alert(textStatus + ' - ' + errorThrown + '\n\n' + jqXHR.responseText);
$jQ('#css_id').html('error')
},
success: function(data, textStatus, jqXHR) {
$jQ('#css_id').html('success')
}
});
});