一尘不染

检查.NET MVC中的AngularJS $ resource请求服务器端

angularjs

有没有办法判断一个请求是否为Angular(1.1.5)$ resource请求。我几乎在寻找这种请求的“
Request.IsAjaxRequest()”方法。

我正在寻找这,就像重写的AuthorizeAttribute的HandleUnauthorizedRequest中一样,如果需要Ajax或angular请求,则需要将上下文结果设置为某些json;否则,需要将上下文结果设置为其他内容。


阅读 224

收藏
2020-07-04

共1个答案

一尘不染

我不太了解MVC3,但是您可以为AngularJS的所有请求设置自定义标头。

然后,在服务器端,您只需要获取此标头,并根据angular的请求执行所需的操作即可。

要在AngularJS中具有自定义标头,只需执行以下操作:

angular.module('myModule', [])

    .config(['$httpProvider', function($httpProvider) {

        $httpProvider.defaults.headers.common["FROM-ANGULAR"] = "true";

    }])

要使用X-Requested-With,您也必须这样做:

$httpProvider.defaults.headers.common["X-Requested-With"] = 'XMLHttpRequest';

默认情况下不再设置它,因为社区的很多人都必须删除此标头才能启用CORS请求

2020-07-04