2013-01-02 92 views
7

我想要我的控制器操作來處理來自jquery $.getJSON的jsonp請求。在我的控制器動作,我有以下respond_to代碼塊:在rails 3中處理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 

但是我卻越來越SyntaxError:invalid label當我從$.getJSON調用的URL。我的網址是http://myservice.com?param1=a&param2=b&callback=?
我的代碼導致jsonp失敗的問題是什麼?

回答

19
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