Rails检测请求是否为AJAX?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (22)

Rails检测请求是否为AJAX?

我想要做这样的事情:

def action
   @model = Model.find(params[:id])

   respond_to do |format|

      if (wasAJAXRequest()) #How do I do this?

         format.html #action.html.erb

      else

         format.html {redirect_to root_url}
   end
end
提问于
用户回答回答于

你可以检查一下header[X-Requested-With],看看它是否是一个AJAX请求

这里是一个例子:

if request.xhr?
  # respond to Ajax request
else
  # respond to normal request
end
用户回答回答于

如果使用:remote => true,则可以这样做:

respond_to do |format|
  format.js { #Do some stuff }

扫码关注云+社区