使用带有rails的Ajax重新加载Div

时间:2014-05-18 10:58:43

标签: jquery html ruby-on-rails ajax refresh

通过我的表(id =“portfolio”),点击一个cel,我将值发送到我的rails controller / game / search。

此查询工作正常,但整个页面正在重新加载。我只想重新加载表。有没有办法这样做?

function getval(cel) {


    if (isNaN(cel)==true){

          window.alert("Oops! Click again.");

        }
        else {
          c="<% cut_line %>";


jQuery.ajax({
            data: 'q=' + cel,
            //dataType: 'script',
            type: 'post',
            url: "/game/search"      
          });
          //post_to_url("/game/search", {q: cel});

        }
    }

这是控制器动作:

def search
Game.new.update_matrix(params[:q], Ip.where(ip: request.remote_ip).last)
redirect_to :action => :play
end

1 个答案:

答案 0 :(得分:0)

要解决您的问题,您需要添加到控制器操作

respond_to do |format|
  format.html
  format.json {render json: object}
end

您传递给ajax的网址应该有.json扩展名,或者如果您不想要,请在路由文件中将资源设置为defaults: {format: 'json'}