在 Ajax 调用期间获取标头值

Posted

技术标签:

【中文标题】在 Ajax 调用期间获取标头值【英文标题】:Getting header value during Ajax Call 【发布时间】:2017-09-20 21:43:27 【问题描述】:

在进行 ajax 调用时,我想访问 WEBAPI 中存在的标头值,如何调用标头值。

WEBAPI 中的标头是这个 fromat:

HttpContext.Current.Response.AppendHeader("SECURITY_TOKEN_KEY", TokenManager.CreateToken(objUserAuthentication.SUA_Login_Id));

【问题讨论】:

【参考方案1】:

您可以按如下方式从请求标头中提取它:

var headers = Request.Headers.GetValues("AjaxHeader");
var ajaxHeader = headers.FirstOrDefault();

希望对你有帮助。

Get header from web method

How to retrieve Ajax header in this asp.NET web api method?

【讨论】:

【参考方案2】:

您好,您可以使用 getAllResponseHeaders 方法获取所有标头值。然后您可以根据键名过滤掉所需的值。

var geturl;
  geturl = $.ajax(
    type: "GET",
    url: 'http://....',
    success: function () 
      alert("done!"+ geturl.getAllResponseHeaders());
    
  );

【讨论】:

以上是关于在 Ajax 调用期间获取标头值的主要内容,如果未能解决你的问题,请参考以下文章

jQuery AJAX POST 在第一次调用时跳过 Django CSRF 令牌标头

Yii2 403在ajax调用期间被禁止

Ajax异步调用的顺序执行

在进行 ajax 调用时在 HTTP 标头中包含 JWT

在 jQuery AJAX GET 调用中传递请求标头

AJAX 调用后添加授权标头