有没有方法来判断请求是否是Angular(1.1.5)$资源请求.我几乎在寻找一种“Request.IsAjaxRequest()”方法来实现这种类型的请求.
我正在看这个HandleUnauthorizedRequest一个覆盖的AuthorizeAttribute我需要将上下文结果设置为一些json,如果一个Ajax或角度请求或其他如果没有.
解决方法
我不太了解MVC3,但您可以为AngularJS的所有请求设置自定义标题.
然后在服务器端你只需要得到这个标题,并按要求从角度做你想要的.
angular.module('myModule',[]) .config(['$httpProvider',function($httpProvider) { $httpProvider.defaults.headers.common["FROM-ANGULAR"] = "true"; }])
为了使用X请求 – 你也必须这样做:
$httpProvider.defaults.headers.common["X-Requested-With"] = 'XMLHttpRequest';
它不是默认设置,因为很多部分社区必须删除此标头以启用CORS请求