问题标签 [ujs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - ajaxSetup 不适用于 Rails / jquery-ujs
我正在开发一个大量使用 XHR 的项目,并且需要将一些数据附加到每个 ajax 请求中,以便服务器端正确跟踪浏览器中发生的事情。
我有一个名为 xhr_response_handler 的通用类,它用于处理所有 ajax 请求的回调,这些请求添加到发出 ajax 请求的所有表单、链接等。(即“:remote => true”在rails中)
然后我尝试使用以下命令附加随每个请求发送的默认数据:
这适用于直接使用 jquery 配置 ajax 设置的某些元素,但这不适用于使用 rails 方法(如 link_to 和 form_for 以及 :remote => true)创建的某些元素。
奇怪的是,如果我还添加
然后,这适用于使用 link_to 将数据添加到 rails 生成的 ajax 请求。奇怪的是,现在突然之间 ajaxSettings 也可以工作了,并且在 ajax 请求中我将 Foo 和 Foo2 作为参数。但是当我自己使用 ajaxSettings 时,我根本没有得到任何参数。
此外,没有任何要附加的数据被序列化为通过 rails form_for 方法生成的 ajax 请求中发送的表单数据。
任何帮助,将不胜感激。
导轨 3.2.3
红宝石 1.9.3p194
jQuery 1.7.2
ruby-on-rails-3 - UJS 在 application.js 回调中失败
当我可以动态添加回复时,我有一个简单的评论系统,并且我正在尝试添加一种允许用户取消回复的 UJS 方式。我有一个 id="comment_reply_content" 的文本字段,然后是
在我的 application.js 文件中,我添加了:
无论我做什么,我都无法让它发挥作用。我注释掉了清除表单等的实际功能性javascript,但现在我求助于一个简单的警报进行测试。将警报单独放在我的 application.js 中可以正常工作。我的控制器中有 *.js 文件,这些文件正在创建新的回复表单等,所以我知道 UJS 正在工作。我很确定我只是在这里遗漏了一些简单的东西。我尝试将其更改live
为bind
没有成功。
ruby-on-rails - 在 ajax 发布后更新 rails button_to 的最简单方法是什么?
我有两个 button_to 调用来播放视频。该按钮在我的视频控制器中调用一个特色动作。
在我的控制器中
在我看来
在成功的 ajax 发布后将按钮更改为“删除”的最不显眼的方法是什么?其他一切工作正常。我尝试在 features.js.erb 文件中进行 jQuery 切换调用,但它不起作用。
jquery - Rails & UJS:将表单序列化为 JSON 并提交
我想在提交表单之前将表单参数序列化为 JSON。UJS 中是否有任何诡计允许这样做?
ruby-on-rails - Rails、CoffeeScript 和 ERB
因此,我在一些 javascript 响应程序中搞乱了一些操作。所以,例如,
现在假设我想将这些javascript函数转换为Coffeescript(撇开它几乎没有任何收获的事实不谈),如果我将文件更改为create.js.coffee.erb
它停止工作。在 UJS 中使用咖啡脚本的正确方法是什么?
作为记录,我coffee-rails
在我的 Gemfile 中有,并且在资产管道中使用咖啡脚本。
ruby-on-rails - UJS Create Action 正在发布两篇文章
好的,我有以下创建操作
它来自以下形式
开始这个咖啡脚本
如果我:remote => true
从表格中取出,一切都会很好,但是把它放进去会产生两个模型对象而不是一个。
知道我在这里做错了什么吗?
ruby-on-rails - Rails form_for 与 file_field 和 remote => true 和 format => :js
我正在提交一个带有 file_field 的 form_for。当表单与 post 一起提交时,控制器会响应一个 .js 文件,该文件将被执行。
file_field 是可选的。
当我上传文件时,js文件在一个新文档中打开(作为一个简单的文本文件)并且js没有被执行。当我不上传任何文件时,响应 div 会更新。我希望在响应 div 或独立于文件上传的失败消息中通知更新成功。
可能是出于某些安全原因这样做吗?对于希望能够做到这一点的人是否有一些解决方法?
大致,
形成部分 _action.html.erb:
控制器::动作
action.js.erb:
jquery - Rails 3 - DIV 的定期刷新
我正在尝试使用 AJAX/Unobtrusive JavaScript/JQuery 刷新 div 的内容。
如果我创建一个“刷新”链接并给它一个数据远程属性,这很容易做到。
但是,我想使用 setInterval 函数而不是使用链接每 2 秒刷新一次。
这段代码应该演示我正在尝试做的事情。放入 application.js 时它不起作用,因为没有评估 ERB,但希望它能解释我的目标。
在 Rails 3 中执行此操作的正确方法是什么?
(我正在使用 Rails 3.2.5)
jquery - 如何在发送的 settings.data 之前将对象添加到 jQuery ajax
我绑定到 beforeSend 的 ajax 表单提交:
我的功能如下:
当我像这样手动提交到服务器时,这是有效的:
但由于我使用的是 Rails UJS,我想使用内置的表单提交器(数据远程)。为什么 settings.data 在上面不起作用?我需要将对象转换为数组或其他东西吗?
谢谢