运维开发网
广告位招商联系QQ:123077622
 
广告位招商联系QQ:123077622

ruby-on-rails – jQuery $.ajax()调用从Rails 3控制器获取JSON导致304 Not Modified?

运维开发网 https://www.qedev.com 2020-08-09 09:27 出处:网络 作者:运维开发网整理
在application.js我有: $("#combo_box").live('change', (function() { $.ajax( { url: '/my_controller/get_data', data: {id: some_id}, success:
在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

但由于某种原因,成功的功能只运行一次(我认为),其余时间Firebug在组合框更改触发ajax调用时报告304 Not Modified.

这是如何运作的?谢谢!

$.ajax的默认方法是GET:

type String

Default: ‘GET’

所以你的$.ajax调用正在执行GET请求,有人可能正在缓存它.尝试将cache:false添加到$.ajax选项中:

cache Boolean

Default: true, false for dataType ‘script’ and ‘jsonp’

If set to false, it will force requested pages not to be cached by the browser.

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消