在rails 3控制器中处理jsonp



我想让我的控制器动作来处理jquery $.getJSON的jsonp请求。在我的控制器动作中,我有以下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

但是当我从$.getJSON调用url时,我得到SyntaxError:invalid label。我的url是http://myservice.com?param1=a&param2=b&callback=?
我的代码导致jsonp失败的问题是什么?

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

最新更新