У меня есть кнопка, которая используется для проверки почтового индекса пользователя. При нажатии желаемой функциональностью будет отображение предупреждения о том, был ли подтвержден почтовый индекс.
<%= button_tag 'Verify zip code', :type => 'button', :id => 'self-install', remote: true %>
Файл предупреждений находится в моих представлениях и находится в zipcodes/success.js.erb и zipcodes/failure/js.erb.
Это мой контроллер:
if data.empty?
respond_to do |format|
format.html do
redirect_to page_path(submitted_page)
end
format.js do
render 'zipcodes/failure'
end
end
else
respond_to do |format|
format.html do
redirect_to page_path(submitted_page)
end
format.js do
render 'zipcodes/success'
end
end
end
Вот мой запрос ajax:
$(function(){
$('#self-install').click(function(e){
e.preventDefault();
$.ajax({
url: '/zipcodes/new',
type: 'get',
dataType: 'json',
data: { zip: zipCodes },
success: function(r){
}
});
});
});
Когда я нажимаю кнопку, мой терминал сообщает следующее:
Но ничего не отображается. Я использую Ruby on Rails. Любая помощь будет принята с благодарностью. Пожалуйста, дайте мне знать, если я упустил что-нибудь полезное.
Это сработало, слава богу! @AlexTatarnikov



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Если у вас есть элемент remote: true, вызов ajax в вашем js не нужен, кроме того, ваш удаленный элемент должен быть link_to с соответствующим URL-адресом вместо button_tag
В результате, на ваш взгляд, получился следующий код:
<%= link_to 'new zipcode', new_zipcode_path, remote: true %>
dataTypeдля запроса ajax должен бытьscript, я думаю