2011-12-16 62 views
0

在.slim文件我有:Rails的jQuery的AJAX在JavaScript

javascript: 
    AUTH_TOKEN = #{form_authenticity_token.inspect}; 
    $(document).ajaxSend(
    function(event, request, settings) { 
     settings.data = settings.data || ""; 
     settings.data += (settings.data ? "&" : "") 
         + "authenticity_token=" + encodeURIComponent(AUTH_TOKEN); 
    }); 
    $.get("/say/goodbye", function(data) { alert('get success'); }); 

在我說控制器I有:

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

AJAX調用$不用彷徨無助。任何想法我做錯了什麼?

(注意,我在一個文件中寫到這裏一切爲了簡單起見,所以我可以嘗試)

+0

您是否創建了一個goodbye.js.erb,以便可以生成響應? [本教程](http://net.tutsplus.com/tutorials/javascript-ajax/using-unobtrusive-javascript-and-ajax-with-rails-3/)可能有幫助 – aishwarya

+0

@aishwarya是的。 –

+0

該過濾器是一個小寫字母J的'javascript:',給出一個鏡頭。 – stonean

回答

0

想通了。問題是AUTH_TOKEN的HTML編碼。添加html_safe使它工作。所以我們得到:

AUTH_TOKEN = #{form_authenticity_token.inspect.html_safe}; 

不知道是否有更好的方法,但現在這個工作,並執行AJAX調用。