Asp.net-Mvc-3

檢查 .NET MVC 中的 AngularJS $resource 請求伺服器端

  • July 18, 2017

有沒有辦法判斷請求是否是 Angular (1.1.5) $resource 請求。我非常想為這種類型的請求尋找“Request.IsAjaxRequest()”方法。

我將其視為在覆蓋的 AuthorizeAttribute 的 HandleUnauthorizedRequest 中進行查看,如果 Ajax 或角度請求,則我需要將上下文結果設置為某個 json,如果不是,則需要設置其他內容。

我不太了解 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 請求

引用自:https://stackoverflow.com/questions/19001242