处理JSONP在轨道3控制器(Handling jsonp in rails 3 controlle

2019-07-17 18:06发布

我希望我的控制器行动,以处理来自jQuery的JSONP请求$.getJSON 。 在我的控制器动作,我有以下的respond_to块:

respond_to do |format|
  format.html { render json: {:items_by_tag => @tagged_item_list}}
  if params[:callback]
        format.js { render :json => {:items_by_tag => @tagged_item_list}.to_json, :callback => params[:callback] }
  else
        format.json { render json: {:items_by_tag => @tagged_item_list}}
  end
end

但我发现了SyntaxError:invalid label时,我打电话从URL $.getJSON 。 我的网址形式的http://myservice.com?param1=a&param2=b&callback=?
什么是我的代码,这是造成JSONP失败的问题?

Answer 1:

respond_to do |format|
  format.html { render json: {:items_by_tag => @tagged_item_list}}
   if params[:callback]
     format.js { render :json => {:items_by_tag => @tagged_item_list.to_json}, :callback => params[:callback] }
   else
    format.json { render json: {:items_by_tag => @tagged_item_list}}
   end
 end


文章来源: Handling jsonp in rails 3 controller