Javascript 在呈现页面之前,如何在服务器端执行api请求?
我在页面上有一个JS脚本,它在页面加载时调用Y服务器,并显示一些数据。如果您查看PageSource,您可以看到调用Y服务器的脚本 我需要做的是从我的服务器向Y服务器发出api请求,并在不使用JS脚本的情况下将页面呈现给客户端。因此,如果查看页面源代码,您将不会看到任何对Y服务器的引用,因为在页面呈现给客户端之前,所有这些都会在后台发生在我的服务器上Javascript 在呈现页面之前,如何在服务器端执行api请求?,javascript,ruby-on-rails,ruby,api,Javascript,Ruby On Rails,Ruby,Api,我在页面上有一个JS脚本,它在页面加载时调用Y服务器,并显示一些数据。如果您查看PageSource,您可以看到调用Y服务器的脚本 我需要做的是从我的服务器向Y服务器发出api请求,并在不使用JS脚本的情况下将页面呈现给客户端。因此,如果查看页面源代码,您将不会看到任何对Y服务器的引用,因为在页面呈现给客户端之前,所有这些都会在后台发生在我的服务器上 有人知道如何完成此设置吗?寻找指导。。。文档链接?如果不清楚,请要求澄清 您需要的是直接从服务器生成html,并呈现动态页面。 您必须从模板中对h
有人知道如何完成此设置吗?寻找指导。。。文档链接?如果不清楚,请要求澄清 您需要的是直接从服务器生成html,并呈现动态页面。 您必须从模板中对html进行常规处理,并将其直接呈现给客户端。 例如,在php中,您的.twig文件将包含php变量,而不是静态html。 java和servlet也是如此。 页面被呈现在背面,并作为静态文件发送到客户端。 不确定ROR的确切方法 我正在尝试一个简单的例子。假设变量数据包含您希望从api获取的元素,下面是您的2个示例:
//第一种情况
staticPage1.html
[…]
var data=loadAjax(url)
window.console.log(数据)
//后面的页面与前面的页面相同
//第二个案例
已生成。someServerSideTemplate
[…]
var data={{getDataFromUrl(url)}} //一些服务器端模板语言
生成的.html
[…]
var data={“message”:“hello world”}//呈现的实际页面
我希望这是清楚的…
在高层,您需要:
class SampleController < ApplicationController
def index
@mydata = RestClient.get('http://path.to/your/api?with=params')
end
end
# /app/views/index.html.erb
<h1>Here's Your Data</h1>
<%= raw @mydata %>
class SampleController
源代码在哪里?为什么不处理api调用,然后将api调用中的数据重定向到前端脚本?从标签上看,后端似乎是Rails。谢谢,我正在编辑它作为实现示例。请不要在注释中添加多行代码,因为它不可读。使用“编辑”链接,将这些信息添加到你的答案中,你可以将其适当地格式化。我真不敢相信这有多容易。RestGem和James Mason拯救了这一天!谢谢你,伙计+1.