我正在发送一个ajax请求到我的控制器#action,但是我的开发日志显示
Processing by FormsController#show as */*
虽然这应该是formscontroller# show as JS作为一个ajax请求
因此,它呈现的格式首先在我的响应块在控制器
如:-
respond_to do |format|
format.html{ }
format.js { }
end
如果我发送ajax请求到我的控制器它不工作,因为我的控制器呈现html响应,而它应该处理JS请求。
但是如果respond_to block是这样的
respond_to do |format|
format.js { }
format.html{ }
end
运行正常
我认为Processing by FormsController#show as */*
正在响应它在respond_to块中首先找到的格式。
但是我关心的是为什么我的开发日志显示
Processing by FormsController#show as */*
代替
Processing by FormsController#show as JS
,当我发送了一个ajax请求。是我做错了什么,还是遗漏了一个小而重要的部分?
更新Rails.js文件。
我假设你正在使用jQuery-Rails。以前,Rails AJAX请求不会自动设置请求的内容类型。这已经解决了,所以如果你更新你不应该有*/*
作为最高优先级的内容类型在你的HTTP头。