我在使用Rails + JQuery生態系統中的Ajax查詢時遇到了一些麻煩。 我想要做的是在單擊鏈接時更新跨度的內容和AJAX請求的答案。Rails + JQuery:無法使用Ajax查詢更新跨度內容
這是我的觀點的有趣的部分:
<div class="field">
<%= f.label "Avatar (laissez vide pour utiliser votre gravatar)" %><br />
<span id="avatar">
<%= gravatar_for @user %>
</span><br />
<%= link_to "Editer votre gravatar", "http://www.gravatar.com/emails", :target => :_blank %><br />
<%= f.file_field :avatar %>
<%= link_to "Supprimer avatar", "https://stackoverflow.com/users/new/delete_avatar?id=#{@user.login}", :remote => true, :confirm => "Etes-vous sur?" %>
我的目標是ID爲「阿凡達」,以更新的跨度時,點擊最後一個環節。 這裏是接收請求的代碼:
def delete_avatar
user = User.find_by_login(params[:id])
user.avatar.destroy
respond_to do |format|
format.html { redirect_to edit_user_path @user }
format.js
end
end
這裏是delete_avatar.rb.js文件,由所謂的respond_to:
$("#avatar").html("<%= gravatar_for @user %>");
現在,當我點擊鏈接和使用上螢火蟲的查詢分析工具,我得到的是一個GET請求,以取決於內容是否和以前一樣與否,有以下內容的狀態碼304或200:
$("#avatar").html("<img alt="foobar" class="gravatar" src="http://gravatar.com/avatar/f3ada405ce890b6f8204094deb12d8a8?size=150&default=http%3A%2F%2Fskullslab.elhu.me%2Fimages%2Fskl_avatar.png" />");
這似乎是我期待的,但我不知道爲什麼,頁面的內容沒有修改。
我一直堅持這幾個小時,我很確定答案是非常簡單的...但我會很感激任何形式的幫助,謝謝!
PS:JQuery被正確加載到我的應用程序中,因爲我可以在單擊鏈接時更新跨度的內容,而不是嘗試使用AJAX。
,如果你將文件重命名爲`delete_avatar.js.erb`會發生什麼? – 2011-02-16 19:49:33
對不起,我把錯誤的文件名。該文件的名稱確實是delete_avatar.js.erb! – Elhu 2011-02-16 21:05:58