如何使用Rails在HTML和JSON中进行响应?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Rails在HTML和JSON中进行响应?相关的知识,希望对你有一定的参考价值。
我有
(家庭控制器)
def default
users = Users.all
respond_to do |format|
format.html
format.json { render json: users}
end
end
和
(视图)
axios({
method: 'get',
url: '/home',
headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }
}).then(response => console.log(response))
带有json标头,但我得到了
ActionController::UnknownFormat (LoginController#default is missing a template for this request format and variant.
request.formats: ["application/json"]
request.variant: []):
带有http错误406(不可接受)
谢谢您的帮助:)
编辑:
我发现了问题,实际上我的Rails接受了我的请求作为'/ homehome',但我不知道为什么?我在axios url参数中将'/ home'更改为'',现在可以使用,但我仍然不明白发生了什么?????>
我的网络控制台中也有此消息
A cookie associated with a cross-site resource at http://youtube.com/ was set
without the `SameSite` attribute. A future release of Chrome will only deliver
cookies with cross-site requests if they are set with `SameSite=None` and
`Secure`. You can review cookies in developer tools under
Application>Storage>Cookies and see more details at
https://www.chromestatus.com/feature/5088147346030592 and
https://www.chromestatus.com/feature/5633521622188032.
我有(本地控制器)def默认用户= Users.all response_do | format | format.html format.json {渲染json:用户}结束...
答案
您是否曾经尝试过axios的此配置responseType: 'json', // default
,有关详细信息,可以在axios文档中阅读。
以上是关于如何使用Rails在HTML和JSON中进行响应?的主要内容,如果未能解决你的问题,请参考以下文章
Mechanize Rails - Web Scraping - 服务器使用JSON进行响应 - 如何将URL解析为下载CSV