2013-12-09 21 views
0

這是我的 「鏈接」:Javascript代碼

%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只是呈現,不是基於日誌執行的。這怎麼可能?

謝謝

+0

你能顯示ajax文件的concreet響應嗎? –

回答

2

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

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

0

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