Jquery 406进行ajax调用时出现不可接受的错误
我的一个.js.coffee文件中有以下代码片段:Jquery 406进行ajax调用时出现不可接受的错误,jquery,ruby-on-rails,ajax,coffeescript,Jquery,Ruby On Rails,Ajax,Coffeescript,我的一个.js.coffee文件中有以下代码片段: $.ajax({ url: '/attachinary_files/' + id method: 'put' }).done(//do something) 在我的浏览器控制台中,我得到错误信息: 406 Not Acceptable 我找不到原因。我需要application.js文件中的必要文件,如: //= require jquery //= require jquery_ujs //= requ
$.ajax({
url: '/attachinary_files/' + id
method: 'put'
}).done(//do something)
在我的浏览器控制台中,我得到错误信息:
406 Not Acceptable
我找不到原因。我需要application.js文件中的必要文件,如:
//= require jquery
//= require jquery_ujs
//= require_tree .
我找不到我缺少的东西。任何帮助都将不胜感激。谢谢:)
编辑:
控制器
def update
super
attachinary_file = AttachinaryFile.find(params[:id])
AttachinaryFile.where(attachinariable_id: attachinary_file.attachinariable_id)
.update_all(is_primary: false)
attachinary_file.update_column(:is_primary, true)
respond_to do |format|
flash.now[:notice] = nil
end
end
您缺少导致错误的内容类型 更新ajax代码以包含响应的数据类型:
$.ajax({
url: '/attachinary_files/' + id
method: 'put'
dataType: 'script'
}).done(//do something)
有关更多详细信息,请参阅。1)验证您的控制器是否接受js调用
2) 在JS代码中,指定需要JS格式的结果,包括标题或url:
url:'/attachinary\u files/'+id+'.js'
3) 如果还不够,请在控制器中指定为JS返回的内容:
respond_to do |format|
flash.now[:notice] = nil
format.js { render js: "alert('Hello Rails');" }
end
我使用的是Spring3.2.5,出现了这个错误。 通过使用3.1.1解决
您的路线对此有何说明?你的控制器代码呢?@RichPeck我已经更新了我的帖子谢谢。这很好,但是如果我删除警报,我将不得不创建一个.js部分?我说的对吗?是的,如果您不将响应内联,则需要部分响应