簡體   English   中英

Ajax回調不響應

[英]Ajax Call back Doesnt respond

我有與此問題相同的問題, Ajax回調不適用於Rails 3.0.5和jQuery 1.5.1 我不明白答案,但是。 我已經找到了導致問題的原因,但不確定為什么會導致問題以及如何解決。 我正在使用Kaminari寶石。

請幫幫我。

在我看來

<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) %>");

在我監視ajax的另一個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回調,則會發生,但這不是我所需要的。

更新

剛剛發現它不僅$('#paginator').html("<%=j (paginate(@user, params: {id: nil, pgsz: 20}, remote: true).to_s) %>"); 這是造成的,但是如果我只是將其修改為$('#paginator').html("Hey"); 也不會導致回調。

知道為什么會這樣嗎?

嘗試更改控制器中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 在html之后,我也有format.json ,不確定是否需要這個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM