我有一个Rails服务器,我正在尝试从React客户端发出获取请求。我想在每次发表新评论时获取帖子的评论。
posts_controller.rb
# GET /post/1
# GET /post/1.json
def show
@post = Post.kept.friendly.find(params[:id])
@comments = @post.comments.kept.order(created_at: :desc)
end
我的React组件
useEffect(() => {
fetch('/posts/post-title')
.then((res) => {
console.log("res", res);
})
.catch((err) => {
console.log("err", err);
});
}, []);
结果
res Response {type: "basic", url: "http://localhost:3000/posts/post-title", redirected: false, status: 200, ok: true, …}
我打开了该响应,但没有看到任何注释json。我尝试做res.json()
,但得到undefined
。
我做错了什么?
答案 0 :(得分:0)
将您的表演动作更改为此
def show
@post = Post.kept.friendly.find(params[:id])
@comments = @post.comments.kept.order(created_at: :desc)
render json: @comments
end
和您的JS到此
useEffect(() => {
fetch('/posts/post-title')
.then(res => res.json())
.then((post) => {
console.log(post)
})
.catch((err) => {
console.log("err", err);
});
}, []);