2013-05-21 18 views
5

是否可以使用JavaScript響應HTML請求?通過這個我的意思是我不希望頁面被刷新,並加上執行一些JavaScript代碼。我不知道這是可能的,只更改服務器端?用JavaScript迴應HTML請求?

在我的動作,我有話要選擇到jshtml這樣的迴應:

respond_to do |format| 
    format.js 
    format.html 
end 

而且我有一個.js.erb文件,當然,當瀏覽器請求一個javascript,應該呈現。

可以這樣做嗎?怎麼樣?

+0

看起來不錯,我也嘗試呼叫信息與爵士這條路線? –

+0

你是什麼意思?我需要請求一個'html',並且響應是'js'。 – fotanus

+0

糾正我,如果我錯了。你想做http://someurl.com/someroute並讓它返回js vs做http://someurl.com/someroute.js? –

回答

3

你不能通過只更改服務器端代碼來做到這一點。如果您希望在服務器的響應中執行javascript,則需要通過javascript提交表單。這是因爲JavaScript會評估服務器的響應並運行代碼。

這會有所增加平凡Rails中:

<%= form_for @user, remote: true %> 

當它被提交,那麼你就可以發回的JavaScript。例如,要提醒添加用戶:

/app/views/users/create.js.erb

alert("user <%= j @user.email %> was added"); 
+0

感謝您的回答,我也相信這是不可能的。如果沒有人想出什麼,我會接受你的答案。我明白這很簡單,但是我正在從'rjs'(你記得rjs?)遷移到'ujs',所以它有很多地方可以改變這種調用。 – fotanus