gpt4 book ai didi

javascript - 获取json响应而不指定 '.json in URL'

转载 作者:行者123 更新时间:2023-11-28 18:56:56 25 4
gpt4 key购买 nike

我正在开发 Rails + AngularJS 应用程序。为了访问我的应用程序的 json 响应,我必须在我的 Angular $resource url 中使用 /something.json 而不仅仅是 /something

有办法解决吗?

路线

upvote_post_comment PUT  /posts/:post_id/comments/:id/upvote(.:format) comments#upvote
post_comments POST /posts/:post_id/comments(.:format) comments#create
post_comment GET /posts/:post_id/comments/:id(.:format) comments#show
upvote_post PUT /posts/:id/upvote(.:format) posts#upvote
posts GET /posts(.:format) posts#index
POST /posts(.:format) posts#create
post GET /posts/:id(.:format) posts#show
GET / home#index

PostsController

class PostsController < ApplicationController
def index
@posts = Post.all

respond_to do |format|
format.json { render json: @posts }
end
end
end

Angular 服务提供商

angular.module('flapperNews')
.factory('posts', ['$resource', function($resource) {
return $resource('/posts.json/:id', {id: "@id"})
}]);

最佳答案

在你的 Controller 中,你说的 respond_do 仅当路由中的格式 (.:format) 指定为 json 时才给出 json 响应。

您可以修改您的 Controller PostsController 以使用 json 进行响应,无论格式是什么。

class PostsController < ApplicationController
def index
@posts = Post.all
render json: @posts
end
end

注意:在此之后,网址后面的格式就不再重要了(无论是 .json、.xml,什么都没有)。 Controller 的操作总是返回 json。

关于javascript - 获取json响应而不指定 '.json in URL',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33425901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com