带标头认证的跨域请求

2024-07-01

我需要发送一个Get具有标头身份验证的跨域来源请求。

它在 Chrome 和 Firefox 中工作正常,但在 Safari 和 IE 中遇到问题。同样在随机情况下它会返回 401。

<script>
var url = 'username:[email protected] /cdn-cgi/l/email-protection';
$.ajax({
    url: url,
    dataType: 'jsonp',
    jsonpCallback: "callback",
    success: function(json) {
        alert(json);
    }
});
</script>

解决这个问题的最佳选择是什么?


如果我正确理解了问题,您可以使用 beforeSend 回调对请求添加基本身份验证。但这与 jsonp 或跨域无关。

beforeSend: function (xhr) {
  xhr.setRequestHeader ("Authorization", "Basic " + btoa(username + ":" + password));
}

https://jsfiddle.net/rn9Lp304/ https://jsfiddle.net/rn9Lp304/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带标头认证的跨域请求 的相关文章