【发布时间】:2017-08-28 14:56:24
【问题描述】:
我有一个网页尝试使用 d3 向 Rails 应用程序请求 json 数据。出于某种原因,我不断收到 406 错误(“不可接受”),并且在控制器内,request.content_type 是 nil 和 request.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
【问题讨论】:
-
请添加示例网址
-
我想你可以在这里得到答案stackoverflow.com/questions/12320259/…
-
谢谢@artgb!我认为指定 content_type 就足够了,但事实证明我需要将
.json添加到网址中——而您重新阅读该帖子的指示使我进行了实验并找出了这个事实。如果您将此作为答案发布,我将不胜感激,以便我可以将其标记为这样。
标签: javascript ruby-on-rails json d3.js