首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从引导程序前端调用Rails JSON-API

从引导程序前端调用Rails JSON-API
EN

Stack Overflow用户
提问于 2017-04-05 12:49:02
回答 2查看 1.3K关注 0票数 0

这可能是一个愚蠢的问题,但您能告诉我如何在我的引导页中调用我现有的Rails JSON-API Server中的“端点”。是否需要引导页位于API服务器的视图文件夹中,如果有,我如何调用控制器并将接收到的JSON安装到我的前端元素中?

谢谢你,我希望你能理解我的意思。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-05 13:18:41

blogs的脚手架为例,使用rails routes (rake routes),您可以看到在routes.rb中定义的所有“端点”

代码语言:javascript
复制
   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

代码语言: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

代码语言:javascript
复制
fetch('localhost:3000/blogs', {
  ...
}).then(function(response) {
   console.log(response)
}).catch(function(err) {
   console.log(err)
});

使用jQuery:

代码语言:javascript
复制
$.ajax({
  url: 'localhost:3000/blogs',
  dataType: 'script',
  success: function(result) {
    console.log(result)
  },
});

然后,您可以根据需要继续插入、更新和/或删除数据。

票数 0
EN

Stack Overflow用户

发布于 2017-04-05 13:03:35

您可能想看看rake routes,它将向您展示可用的路线。

因此,本质上是提出一个请求客户端,可能在某些js中特定端点,然后该端点将返回数据,您可以使用这些数据,您可以做任何您想要的客户端。

您很可能不会从视图中调用终结点,通常您会有一个单独的js文件,但是如果您真的想要调用,可以在视图中添加一些js,然后从那里直接调用终结点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43231700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档