当我用ajax调用调用某个api端点时,有什么方法可以在api控制器中获取请求原点值?
例如我从www.xyz.com发出此电话:
$http({
url: 'http://myazurewebsite.azurewebsites.net/api/ValueCall/CheckForExistingValuers',
method: "GET",
params: { loanID: $scope.loanIdPopup }
}).success(function (data) {
}).error(function (data) {
});
一旦进入api方面,我怎样才能获得www.xyz.com的价值?
CORS正常运作。
答案 0 :(得分:12)
您正在寻找的可能是原始标题。如果您正在进行跨域请求,所有现代浏览器都会发送它。
在ApiController
中,您可以像这样获取它:
if (Request.Headers.Contains("Origin"))
{
var values = Request.Headers.GetValues("Origin");
// Do stuff with the values... probably .FirstOrDefault()
}
答案 1 :(得分:2)
您可以通过当前的HTTP请求标头集合从API方法中获取它:
IEnumerable<string> originValues;
Request.Headers.TryGetValues("Origin", out originValues)
答案 2 :(得分:0)
var originValue = Request.Headers["Origin"].FirstOrDefault();
// or
StringValues originValues;
Request.Headers.TryGetValue("Origin", out originValues);