这可能是一个愚蠢的问题,但您能告诉我如何在我的引导页中调用我现有的Rails JSON-API Server中的“端点”。是否需要引导页位于API服务器的视图文件夹中,如果有,我如何调用控制器并将接收到的JSON安装到我的前端元素中?
谢谢你,我希望你能理解我的意思。
发布于 2017-04-05 13:18:41
以blogs的脚手架为例,使用rails routes (rake routes),您可以看到在routes.rb中定义的所有“端点”
Prefix Verb URI Pattern Controller#Action
blogs GET /blogs(.:format) blogs#index
POST /blogs(.:format) blogs#create
new_blog GET /blogs/new(.:format) blogs#new
edit_blog GET /blogs/:id/edit(.:format) blogs#edit
blog GET /blogs/:id(.:format) blogs#show
PATCH /blogs/:id(.:format) blogs#update
PUT /blogs/:id(.:format) blogs#update
DELETE /blogs/:id(.:format) blogs#destroy如果您看到blogs GET /blogs(.:format) blogs#index是通过GET请求向您提供所有的blogs。
这将为您带来API中的所有blogs:
使用普通Javascript
var request = new XMLHttpRequest();
request.open('GET', 'localhost:3000/blogs', true);
request.onload = function() {
if (request.status >= 200 && request.status < 400) {
var data = JSON.parse(request.responseText)
...
} else {
...
}
};
request.onerror = function() {
...
};
request.send();还使用Javascript fetch
fetch('localhost:3000/blogs', {
...
}).then(function(response) {
console.log(response)
}).catch(function(err) {
console.log(err)
});使用jQuery:
$.ajax({
url: 'localhost:3000/blogs',
dataType: 'script',
success: function(result) {
console.log(result)
},
});然后,您可以根据需要继续插入、更新和/或删除数据。
发布于 2017-04-05 13:03:35
您可能想看看rake routes,它将向您展示可用的路线。
因此,本质上是提出一个请求客户端,可能在某些js中特定端点,然后该端点将返回数据,您可以使用这些数据,您可以做任何您想要的客户端。
您很可能不会从视图中调用终结点,通常您会有一个单独的js文件,但是如果您真的想要调用,可以在视图中添加一些js,然后从那里直接调用终结点。
https://stackoverflow.com/questions/43231700
复制相似问题