我想知道是否存在一些更清洁的方法来实现对input
标签值更改的事件触发(我希望它在每次输入/删除字符时都触发)并使这些值在控制器中可见而不是使用ajax ?
所以我现在所知道的方式是实现JavaScript代码段,该代码段会将addEventListener
附加到input
元素(如here)上,并将对初始的rails控制器进行ajax调用以传递新的{ {1}}标签值。但是ajax感觉太多了,而不是在rails中存在某种本机,我似乎找不到它。
答案 0 :(得分:1)
如果您需要从浏览器到服务器的任何内容(用任何语言编写)而无需刷新页面,则Ajax
是可行的方法。如今,fetch
将是另一种替代方法,其工作方式类似。
如果需要将每个击键发送到服务器(控制器),则应添加一个keyup
事件侦听器。在事件侦听器功能中,对端点进行Ajax / fetch调用,然后从控制器返回相关信息。
请记住在请求中包含时间戳,然后将其发送回以作为响应。在大多数此类情况下,如果用户输入速度太快,则希望区分“什么是新内容”与“什么是旧内容”。由于网络延迟,响应通常不会按照发出请求的顺序返回。