【问题标题】:What is Faraday why use over Ajax [closed]什么是法拉第为什么使用 Ajax [关闭]
【发布时间】:2018-10-19 17:53:41
【问题描述】:

谁能帮我理解为什么我们使用 FARADAY 请求 API 为什么不使用 AJAX?如果我们使用 Faraday 相比 Ajax 有什么优势?

如果这是一个基本问题,我对 Rails 很陌生。

【问题讨论】:

    标签: ruby-on-rails faraday


    【解决方案1】:

    Faraday 是一个 HTTP 客户端,用于请求服务器到服务器。

    Ajax 是一种从客户端向服务器执行异步请求的技术。

    它们是具有不同目的的不同事物。

    【讨论】:

      【解决方案2】:

      两者都没有可比性。

      Faraday 是一个用于从服务器(到另一台服务器)执行 HTTP 请求的 gem。很像标准库中的Net::HTTP module

      AJAX 用于浏览器(客户端)异步发送 HTTP 请求(无需重新加载页面)。

      两者都可用于从互联网上的任何地方获取数据,但在完全不同的上下文中运行。哪个更适合完全取决于手头的问题。

      服务器不受相同域源策略和其他浏览器安全功能的限制,但在服务器上执行请求或通过服务器代理会占用服务器资源并延迟发送回响应。

      浏览器可以执行大量异步请求,并在初始页面加载后执行,这意味着 AJAX 可以提供更灵敏的用户体验。

      【讨论】:

      • 谢谢马克斯。对于 Rails 初学者来说,解释得非常好。但我想在这里问你是如你所说。 Ajax 和 Faraday 的目的相同(即)从互联网上的任何地方获取数据,那么它们的不同之处在于它们在不同的上下文中如何运行?还从服务器向另一台服务器发出请求?你能给我举个例子吗。因为我知道客户端通过 Ajax 向服务器发出的请求。但是服务器到服务器?提前致谢。
      • 例如,您可以在 Rails 视图中创建一个提要,通过向 twitter api 发送带有 Faraday 的请求并使用响应来显示推文。不是一个很好的例子 - 但我真的想不出任何东西,因为它是一个如此基本的工具。
      • 当您需要服务器上的数据(来自另一台服务器)来响应请求甚至在另一台服务器上创建资源时,您将使用服务器端请求。例如,如果您在服务器上进行图像处理,然后将结果上传到其他服务。
      • 所以我在这里理解的是。 Ajax 和 Faraday 执行相同的工作(即获取数据),但是 ajax 在完全不同的上下文中运行(即)异步运行,而 Faraday 没有。但是对于你所说的,我的主要疑问是我可以通过 Ajax 请求 Twitter API 为什么我们专门使用法拉第?我希望我说得通。 @max
      • 区别在于代码运行的地方。我认为我无法更清楚地解释这一点。通过服务器执行请求的优点是您可以使用服务器端模板,并且您可以作为服务器发送请求而不与客户端共享您的凭据(在站点 x 上)。您还可以执行由于相同的域来源策略而浏览器无法执行的请求。这并不是真正的 Rails 东西——它是一般 Web 开发的基础。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-21
      • 1970-01-01
      • 1970-01-01
      • 2018-04-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多