进行远程操作=>;使用javascript实现真正的调用

进行远程操作=>;使用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

有没有一种方法可以使你的行为与链接到。。。远程=>true是否使用javascript

也许没必要-

我有一个div,里面有用户名和图片

我想让整个div对单击做出反应,然后转到该方法(例如,
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]
选择器。