2012-09-06 15 views
0

這裏是我的JS.coffee代碼:如何從JS通過PARAMS到Rails3中控制器

fetchselect =(val) -> 
$.ajax(url: '/firstpages/page', dataType: 'json', par_id: val) 

$('.homeNav').find('.unactive').click -> 
id = $(this).attr('id') 
fetchselect(id) 

,這裏是我的控制器代碼:

def page 
@select = Firstpage.where(:pid=>params[:par_id]) 

respond_to do |format| 
    format.html # page.html.erb 
    format.js { render :layout => false } 
    format.json { render :json => @select } 
end 

末 它不能通過params to @select,當我點擊$('。homeNav')時,日誌告訴我:

開始GET「/ firstpages/page」爲127.0.0.1於2012-09-07 05:27:07 +0800 按第一頁進行處理控制器#頁面爲JSON 首頁加載(0.2ms)SELECT「firstpages」。* FROM「firstpages」WHERE「firstpages」。「pid」IS NULL 已完成200 OK in 2ms(Views:0.1ms | ActiveRecord:0.2ms)

回答

0

看起來問題出在實際的ajax請求中。請嘗試:

$.ajax({ 
    type: "POST", 
    url: '/firstpages/page', 
    dataType: 'json', 
    data: {par_id : val}) 
}) 

有關更多示例,請查看jQuery $.ajax documentation

+0

這沒關係,但無法實現Ajax,日誌告訴我:開始GET「/ firstpages/page?par_id = nb」我要「/ firstpages/page」 – xieyu33333

+1

如果你不想在params中url,那麼你需要執行POST請求。我會將其添加到我原來的答案中。當你說「無法實現Ajax」...是因爲一個javaScript錯誤或Rails路由錯誤? – jrmyward

+0

非常感謝~~ – xieyu33333

相關問題