Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何以ajax方式更改dom元素,而不使用javascript方式替换dom内容_Javascript_Ajax_Ruby On Rails 3 - Fatal编程技术网

如何以ajax方式更改dom元素,而不使用javascript方式替换dom内容

如何以ajax方式更改dom元素,而不使用javascript方式替换dom内容,javascript,ajax,ruby-on-rails-3,Javascript,Ajax,Ruby On Rails 3,默认情况下,页面将显示向上投票按钮 用户单击“向上”按钮后,页面将再次重新加载,然后显示“向下投票”按钮 现在我想用Ajax的方式,不用加载页面 但是我如何在不重新加载页面的情况下更改按钮呢 - if not comment.has_evaluation?(:votes, current_user) = link_to vote_comment_path(comment, type: "up"), method: :post do %button.btn.btn-xs.b

默认情况下,页面将显示
向上投票按钮

用户单击“向上”按钮后,页面将再次重新加载,然后显示“向下投票”按钮

现在我想用Ajax的方式,不用加载页面

但是我如何在不重新加载页面的情况下更改按钮呢

  - if not comment.has_evaluation?(:votes, current_user)
    = link_to vote_comment_path(comment, type: "up"), method: :post do
      %button.btn.btn-xs.btn-success
        Like this
  - else
    = link_to vote_comment_path(comment, type: "down"), method: :post do
      %button.btn.btn-xs.btn-danger
        Unlike this

我假设您使用背景图像来控制
向上投票
向下投票
按钮。试试这个:

var $btn = $('#btn-id');
$.ajax({
    url: '/rate',
    data: {key: value},
    type: 'post'
}).done(function(res) {
    if (res.success) {
       if (res.myRate.up) {
           $btn.removeClass('down-vote-bg');
           $btn.addClass('up-vote-bg');
       } else {
           $btn.removeClass('up-vote-bg');
           $btn.addClass('down-vote-bg');
       }
    }
}).fail(function() {
    alert('Action failed');
});
查看更多信息