如何在服务器端检测请求是ajax还是正常

时间:2010-03-10 17:49:53

标签: ajax jquery

我使用jquery来发出ajax请求。是否有可能检测到请求是ajax请求还是服务器端的正常请求? jquery是否添加任何输入变量或标题以使其成为可能?

感谢

2 个答案:

答案 0 :(得分:13)

当jQuery的ajax标头名为X-Requested-With且值为XMLHttpRequest时,jQuery会在请求上添加一个额外的标头。请在请求中检查此标头。

或者,使用.ajaxSetup设置您想要的任何标题:

$.ajaxSetup({
  headers: {"X-My-Header":"Bob"}
});

答案 1 :(得分:1)

如果您使用的是asp.net mvc,您的控制器将拥有一个属性IsAjaxRequest 只需检查此属性

if (IsAjaxRequest) 
{
   // do your stuff and render ajax view
}