进行远程操作=>;使用javascript实现真正的调用
有没有一种方法可以使你的行为与链接到。。。远程=>true是否使用javascript 也许没必要- 我有一个div,里面有用户名和图片 我想让整个div对单击做出反应,然后转到该方法(例如,进行远程操作=>;使用javascript实现真正的调用,javascript,ajax,ruby-on-rails-3,rjs,ujs,Javascript,Ajax,Ruby On Rails 3,Rjs,Ujs,有没有一种方法可以使你的行为与链接到。。。远程=>true是否使用javascript 也许没必要- 我有一个div,里面有用户名和图片 我想让整个div对单击做出反应,然后转到该方法(例如,users\show),就好像它是指向的链接一样 “链接到”的问题在于它创建了a href,使文本可链接等 而且,我似乎不能用它来让整个div可以点击,只有文本 为了更好地解释我自己- 如果link\u to对应于javascript中的window.location 在javascript中使用:remo
users\show
),就好像它是指向的链接一样
“链接到”的问题在于它创建了a href
,使文本可链接等
而且,我似乎不能用它来让整个div可以点击,只有文本
为了更好地解释我自己-
如果link\u to
对应于javascript中的window.location
在javascript中使用
:remote=>true
链接到的是什么?我对Rails不太熟悉,但是在阅读了方法的描述之后,听起来你只是在做一个ajax调用。有趣的是Rails对这个概念进行了如此多的抽象
如果您使用的是jQuery之类的库,那么在单击时执行ajax调用非常简单:
$('element').click(function(e){
$.get('url', function action(){
// Do stuff
});
});
要使DIV与remote=>true一起工作,在仔细检查jquery ujs之后,似乎可以将希望单击的DIV包装在如下表单中:
<form action="/users" method="POST" data-remote="true">
<div onclick="$(this.parentNode).trigger('submit.rails');">Remote Request</div>
<input type="submit" style="display:none" />
</form>
远程请求
这是您的操作方式:
$.rails.handleRemote($('',{href:'/path',data method':'GET'}))代码>是$。get与:remote=>true和get相同?不。我认为他不了解remote=true对rails的作用。就像我说的,我不知道link\u to做什么,这意味着我不完全理解这个问题,但我向你保证,如果我知道你想要实现什么,我会有一个解决方案:remote=>true——这将允许不引人注目的JavaScript驱动程序向相关URL发出Ajax请求,而不是跟随链接。每个驱动程序都提供了监听Ajax请求完成的机制,并在完成后执行JavaScript操作。基于该描述,它向url发出请求,然后执行操作。由于div上的click事件不起任何作用,因此不会重定向您。如果您在链接上使用此选项,则需要添加e.preventDefault()。他使用的是与Rails交互的jquery ujs库:请注意a[data remote]
选择器。