javascript - 如何根据url设置jquery ajax headers授权?

标签 javascript php jquery html wordpress

我有一个 WordPress 网站,其订单页面上有 woocommerce ajax 请求。该网站有一个暂存域和一个实时域。

$(function(){
   var root_url = 'https://'+window.location.hostname;
   console.log(root_url);
});

用于暂存的 Ajax 请求示例:

$.ajax({
  type: 'GET',
  url: https://staging-mywebsite.net/wp-json/wc/v2/products?category=504,
  cache: false,
  beforeSend: function(jqXHR, settings) {
  },
  headers: {"Authorization": "Basic " + btoa("ck_123" + ":" + "cs_123") // staging},
  success: function(data) {
  }
});

实时站点的 Ajax 请求示例:

$.ajax({
  type: 'GET',
  url: https://livewebsite.com/wp-json/wc/v2/products?category=504,
  cache: false,
  beforeSend: function(jqXHR, settings) {
  },
  headers: {"Authorization": "Basic " + btoa("ck_456" + ":" + "cs_456") // staging},
  success: function(data) {
  }
});

实时网站和登台网站的 headers 属性上有不同用户名和密码。

您知道如何根据域为 headers 属性设置条件或全局变量吗?

感谢任何帮助。谢谢

最佳答案

您是否尝试过使用 document.domain 属性?我在想这样的事情:

var headers = {"Authorization": "Basic " + btoa("ck_456" + ":" + "cs_456")} // Assume live site
if( document.domain === "staging-mywebsite.net" ){
  headers = {"Authorization": "Basic " + btoa("ck_123" + ":" + "cs_123")} // Use staging instead
}

然后在 AJAX 请求中使用该变量。

...
headers: headers,
...

关于javascript - 如何根据url设置jquery ajax headers授权?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53059889/

相关文章:

php - 使用 Chrome 和 Firefox 时,在 Mysql 中更新 IP 地址结果不同

jQuery onclick 不隐藏 div

javascript - jqgrid自定义删除对话框消息

javascript - 音频与onmousedown一起在Javascript/CSS中切出过早

php - 用于确定函数返回的 if 语句的问题

php - 在 Zend 中,为什么我们将 DB Model 类和 Mapper 类分开使用?

jquery - 包装器溢出后窗口滚动到顶部 :hidden via jQuery

javascript - 如何在图片上添加点击功能

javascript - jQuery 推子点交互功能

javascript - Firebase数据结构思想