【问题标题】:How to set headers to $.get() or $.post() function如何将标头设置为 $.get() 或 $.post() 函数
【发布时间】:2017-11-15 10:46:00
【问题描述】:

如何将授权标头添加到以下ajax 请求?

$.get(urlAPI + "/api/account/get", function (data) {
                    alert(data);
                }, 'json');

【问题讨论】:

标签: jquery ajax xmlhttprequest


【解决方案1】:

你可以在你的请求之前定义ajaxsetup $ .get() 来在header中包含授权

$.ajaxSetup({
   headers:{
      'Authorization': "auth username and password"
   }
});

$.get(urlAPI + "/api/account/get", function (data) {
    alert(data);
}, 'json');

【讨论】:

  • 不知道这是一个功能。谢谢!
  • 这个答案对我帮助很大!
  • Official documentation 强烈建议不要使用此 API:“此处指定的设置将影响对 $.ajax 或基于 Ajax 的派生类(例如 $.get())的所有调用。这可能导致不受欢迎的行为,因为其他调用者(例如插件)可能期望正常的默认设置。因此,我们强烈建议不要使用此 API。相反,在调用中明确设置选项或定义一个简单的插件来执行此操作。"
【解决方案2】:
$.ajax({
  url: 'foo/bar',
  headers: { 'x-my-custom-header': 'some value' }
});

【讨论】:

  • 虽然此代码可能会回答问题,但提供有关它如何和/或为什么解决问题的额外上下文将提高​​答案的长期价值。
【解决方案3】:

基于jquery页面$.get() document 从 1.12 版开始,有一个设置选项可以将基本设置传递给方法。

jQuery.get( [settings ] )

$.get( [settings] )

settings 是一个普通对象,因此您可以像使用它一样使用它

{ 
  url: 'http://requesturl.io', 
  data: {},
  headers: { 'your-custom-header': 'custom-header-value' }
}

【讨论】:

    【解决方案4】:

    这里有一个简单的方法

    $http.get('www.google.com/someapi', {
        headers: {'Authorization': 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='}
    });
    

    【讨论】:

    • 试过这个,但它不起作用。它将标头作为请求参数而不是标头发送。
    猜你喜欢
    • 1970-01-01
    • 2018-03-31
    • 2014-08-23
    • 1970-01-01
    • 1970-01-01
    • 2012-10-03
    • 2016-06-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多