收到 406 错误,使 d3.json 调用 rails 应用程序



我有一个网页试图使用 d3 向 rails 应用程序发出 json 数据请求。出于某种原因,我不断收到 406 错误("不可接受"(,并且在控制器中,request.content_typenilrequest.format给我:

#<Mime::Type:0x00000002595c20 @synonyms=["application/xhtml+xml"], @symbol=:html, @string="text/html", @hash=4164709875014779265>

我做错了什么?

JavaScript

url = '/sources/data/' + $('#source_id').val() + '/' + $(this).val();
return d3.json(url, function(d) {
var color, format, height, pack, svg, width;
console.log(d);
//...do some stuff

控制器:

class SourcesController < ApplicationController
before_action :set_source
def get_data
@count_data = Hash.new
case params[:type].downcase
when 'stems'
@count_data =  JSON.parse @source.stem_cache
when 'words'
@count_data =  JSON.parse @source.word_cache
when 'synonyms'
@count_data =  JSON.parse @source.synonym_cache
end
puts "hello"
respond_to do |format|
format.json {render json: @count_data}
end
end

这一行有问题

url = '/sources/data/' + $('#source_id').val() + '/' + $(this).val();

你必须

将扩展名"json"添加到 URL

或更改路由文件

资源 :源,默认值:{格式::json}

最新更新