Rails的检测,如果请求是AJAX [英] Rails detect if request was AJAX
本文介绍了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屋!
查看全文