[英]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.