簡體   English   中英

AJAX調用后不執行Javascript代碼

[英]Javascript code is not executed after AJAX call

這是我的“鏈接”:

%span{:id => "car_#{car.id}", :onclick => "add_car(#{car.id}"} Add

這導致到這里:

function add_trending(car_id) {
  jQuery.ajax({
    url: "/cars/add_car",
    type: "GET",
    data: {"car_id" : car_id},
    dataType: "html"
  });
}

在控制器中:

  def add_car   
    @car = Car.find(params[:car_id])
    ...

    respond_to do |format|
      format.js
    end
  end

add_car.js.erb

alert("YES");

但是不會彈出警報窗口。 當我看一下日志時,我看到以下內容:

Rendered cars/add_car.js.erb (0.0ms)

javascript只是渲染,而不是基於日志執行。 怎么可能?

謝謝

如果您的ajax請求返回javascript,則必須設置dataType : script或使用$.getScript函數。

在這種情況下,您沒有任何成功的回調函數。

你看過你的網絡流量客戶端了嗎? 我猜你要把它發送到客戶端,但它不知道如何處理這個結果。 事實上,如果這是你在jQuery中的整個處理程序,那么它將不會對響應做任何事情。 您需要在傳遞給jQuery.ajax的options對象中使用成功和/或失敗處理程序,或者您需要將一個附加到它返回的promise。 換句話說,您可能正在獲取數據,但沒有使用它做任何事情。

暫無
暫無

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

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