Ric*_*ner 35
根据Professional ASP.NET MVC 1.0一书,MVC AJAX库将插入一个名为"X-Requested-With"的表单字段,其值为"XMLHttpRequest".
然后,您可以在System.Web.Mvc中使用扩展方法,这意味着Request.IsAjaxRequest()如果这是一个AJAX请求,您只需调用并获得一个简单的真或假说法.
您可以像这样手动检查:
bool isAjaxRequest = request.Headers["X-Requested-With"] == "XMLHttpRequest";
Run Code Online (Sandbox Code Playgroud)
或者,当您在ASP.NET MVC中的Controller中,它引用System.Web.Mvc时,您将在HttpRequestBase对象上获得一个扩展方法,您可以在ActionMethod中访问该方法,如下所示:
bool isAjaxRequest = Request.IsAjaxRequest();
Run Code Online (Sandbox Code Playgroud)
没有特定的方法来确定调用是通过javascript还是直接在浏览器中进行,因为它是常规的http调用.
您可以向ajax调用添加标头以将其与其他调用区分开,或者可以将参数添加到仅在ajax调用上使用的查询字符串中.
ASP.NET MVC ajax确实添加了这样的标题 - X-Requested-With: XMLHttpRequest你可以用它来嗅探这是mvc ajax库的ajax调用.但是,如果您使用jQuery或您自己的手滚动ajax调用,则不会设置此项.此外,其他客户端可能会欺骗此标头(例如,使用WebClient),因此找到它并不能保证已经进行了ajax调用.
| 归档时间: |
|
| 查看次数: |
9225 次 |
| 最近记录: |