Rails的检测,如果请求是AJAX [英] Rails detect if request was AJAX

查看:149
本文介绍了Rails的检测,如果请求是AJAX的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的行动我想与处理,如果它是从一个AJAX请求调用只响应。我该如何检查?

我想做的事情是这样的:

  DEF行动
   @model = Model.find(PARAMS [:ID])

   respond_to代码做|格式|

      如果(wasAJAXRequest()),我该怎么#如何呢?

         的format.html#action.html.erb

      其他

         的format.html {redirect_to时root_url}
   结束
结束
 

解决方案

您可以检查一个标题[X-要求,随着] ,看它是否是一个AJAX请求。这里是如何做到这一点的好文章

下面是一个例子:

 如果request.xhr?
  #为Ajax请求响应
其他
  #正常请求进行响应
结束
 

In my action I wish to only respond with processing if it was called from an AJAX request. How do I check?

I want to do something like this:

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

解决方案

You can check for a header[X-Requested-With] to see if it is an AJAX request. Here is a good article on how to do it.

Here is an example:

if request.xhr?
  # respond to Ajax request
else
  # respond to normal request
end

这篇关于Rails的检测,如果请求是AJAX的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆