Получение сообщения об ошибке 406 при вызове приложения d3.json к rails

1

У меня есть веб-страница, пытающаяся сделать запрос на приложение rails для json-данных, используя d3. По какой-то причине я продолжаю получать ошибку 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
  • 0
    пожалуйста, добавьте образец URL
  • 0
    Я думаю, что вы можете получить ответ здесь stackoverflow.com/questions/12320259/…
Показать ещё 1 комментарий
Теги:
d3.js

1 ответ

0
Лучший ответ

Там проблема в этой строке

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

ты должен

добавить расширение 'json' в URL

или изменить файл маршрута

resources: source, defaults: {format:: json}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню