javascript - 简单ajax和:remote => true In Ruby on Rails的区别

标签 javascript jquery ruby-on-rails ruby ajax

实际上我有两、三个问题,但这三个问题的核心与标题中所写的相同。但我在描述中明确了我的所有观点

以下是我的问题的说明

Javascript file path => assets/javascript/
js.erb file path     => views/customers/index.js.erb
view file name       => views/customerS/html.erb
controller name      => customers
action name          => index

第 1 点

如果我通过我的 javascript 文件(带有提到的路径)对我的客户/索引进行 ajax 调用,那么它会命中 index.js.erb 文件吗?

第 2 点

我们可以使用 js 和 js.erb 文件来执行相同的操作吗?我的意思是“是否可以从 Assets 文件夹中的js文件发送ajax,并在 Controller 操作后说索引方法处理 View 文件夹中index.js.erb文件中的响应?”

第 3 点

假设我们可以处理index.js.erb文件中的响应,那么我们如何/或者是否可以停止发送回js文件中的响应/数据

如果我遗漏了一些相关的要点,请编辑问题并放置它们,以便最大限度的人可以享受知识

另请查看This question如果可以的话请回答

更新

我做了一个小实验,保持与中提到的相同的功能 1 : linked question ,如果 ajax 是通过 js 文件发送的,那么 js.erb 不会执行任何操作,但是如果我使用 :remote => true 进行 ajax 调用,那么它会命中 js.erb 文件。任何解释将不胜感激。要查看 js、 Controller 和 js.erb 中的代码示例,请参阅链接的问题

最佳答案

我认为某些语言障碍导致很难完全理解您的问题,我会尝试回答。

Rails 中 :remote => true 的流程是这样的:

点击 :remote => true 链接 ( foo ) -> 对 Controller 进行 AJAX 调用,请求其执行 foo -> Controller 执行 foo 中包含的代码操作,然后它将在同一 View 的文件夹中查找名为 foo.js.erb 的文件。并执行该 JS -> 该代码将使用名为 foo.html.erb 的文件更新原始 HTML 页面的部分在同一 View 的文件夹中。

assets/javascript/ 中包含的 JS 函数的任何调用只会执行调用的JS,无论是否是AJAX。

所以assets/javascript/ = 放置JS代码的地方,而不是放在<script>中HTML 文件中的标签

:remote => true = 对特定 Controller 操作的 AJAX 调用,然后呈现类似名称的 .js.erb 文件和 .html.erb 文件以异步更新页面。

关于javascript - 简单ajax和:remote => true In Ruby on Rails的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33051974/

相关文章:

javascript - 为什么我无法使用谷歌应用程序引擎获取 Model.all() 形式的数据

javascript - Dart 使用桌面 HTML 应用程序框架

javascript - NextJS 读取本地存储中已存在的项目时出现问题

javascript - 使用 Tablesorter 按列中选定选项的选择进行过滤

javascript - 页面加载后Jquery图像向上滑动

javascript - 滚动上的 jQuery 动画标题

ruby-on-rails - 在Tire和Ruby on Rails上使用Elasticsearch搜索电子邮件时结果无效

ruby-on-rails - Rails 返回用户数

javascript - 显示我的 json 结果,但它只从数据库返回 1 个结果

ruby-on-rails - Rails 6 服务器刚刚停止编译 webpack