2015-06-24 2 views
1

У меня такая же проблема как этот вопрос Ajax callbacks not working with Rails 3.0.5 and jQuery 1.5.1. Я не понимаю ответа на него, но. Я нашел причину проблемы, но не уверен, почему это так и как ее решить. Я использую Kaminari gem.Ajax Перезвонить Не отвечает

Пожалуйста, помогите мне.

В моей ВЗГЛЯД:

<div id="paginator"> 
    <%= paginate @user, params: {id: nil, pgsz: 20}, remote: true %> 
</div> 

В моей контроллер:

@user = Kaminari.paginate_array(@properties, total_count: @search_result.total_count).page(@pg).per(@pgsz) 
    respond_to do |format| 
     format.js 
     format.html 
    end 

В МОЕЙ Show.js.erb

$('#list').html("<%=j (render 'search_result_list') %>"); 
$('#paginator').html("<%=j (paginate(@user, params: {id: nil, pgsz: 20}, remote: true).to_s) %>"); 

В моей другой JS файл, в котором я контролировать Аякс

$('#paginator') 
.on("ajax:send", function() { 
    // Run a spinner 
    console.log("=====BEfore SEND"); 
}) 
.on("ajax:complete", function (e, data, status, xhr) { 
    // Stop the spinner 
    console.log("=====Afte SEND"); 
}) 

Так я понял, что $('#paginator').html("<%=j (paginate(@user, params: {id: nil, pgsz: 20}, remote: true).to_s) %>"); эта линия вызывает не обратный вызов для любого ajax:successs or ajax:complete. Но если я меняю $('#paginator').htmlна$('#paginator').append обратный вызов случается, но его не то, что мне нужно.

UPDATE:

Просто обнаружил, что его не только $('#paginator').html("<%=j (paginate(@user, params: {id: nil, pgsz: 20}, remote: true).to_s) %>");, которая вызывает, но если я просто изменить его $('#paginator').html("Hey"); также не вызывает функцию обратного вызова.

Любая идея, почему это происходит?

ответ

0

Попробуйте изменить порядок format на контроллере.

@user = Kaminari.paginate_array(@properties, total_count: @search_result.total_count).page(@pg).per(@pgsz) 
    respond_to do |format| 
     format.html 
     format.js 
    end 

Я имел подобный вопрос, и добавление format.js в конце помог. У меня также был format.json после html one, не уверен, что вам это нужно или нет.

Смежные вопросы