2013-01-02 15 views
7

jquery $.getJSONからjsonpリクエストを処理するコントローラアクションが必要です。私のコントローラのアクションでは、私は、次のrespond_toブロックを持っている:jsonpをレール3で扱うコントローラ

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が失敗する原因となる問題は何ですか?

答えて

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 
関連する問題