Asp.net-Mvc-3
檢查 .NET MVC 中的 AngularJS $resource 請求伺服器端
有沒有辦法判斷請求是否是 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 請求