3
在application.js中我有:
$("#combo_box").live('change', (function() {
$.ajax({
url: '/my_controller/get_data',
data: {id: some_id},
success: function(data){ do_stuff_with_data(data) }
}
)
}))
和my_controller代碼,我有:
def get_data
id = params[:id]
@data = MyModel.DoSomeStuff(id)
respond_to do |format|
format.js { render :json => @data}
end
end
但由於某些原因在success
函數只運行一次,(我認爲),其餘的時間當組合框更改觸發ajax調用時,Firebug報告304 Not Modified
。
這是如何工作的?謝謝!
我沒有意識到,瀏覽器緩存get,非常有趣,這就是訣竅! –
另外我想指出的是,jQuery將結果作爲字符串返回,直到我專門在ajax調用中設置dataType:'json',這讓我暫時停下了腳步。 –