Cross-domain JSON 使用 BasicAuth 请求

Cross-domain JSON request with BasicAuth

我正在开发一个网站 example.com,API api。example.com。目前,该网站及其 API 受 BasicAuth 使用用户名和密码保护。

我无法从网站向其 API 发起 AJAX 调用(我使用 jQuery)。我尝试了在网上找到的所有方法,将 BasicAuth 参数添加到调用中,但没有任何效果。当我用Chrome检查网络上发生了什么时,我发现没有提交headers,并且请求方法不是GET而是OPTIONS。

这是我尝试的最后一件事:

$.ajax({
    url: 'api.example.com/users.json',
    beforeSend: function(xhr) {
        var base64 = btoa(username + ":" + password);
        xhr.setRequestHeader("Authorization", "Basic " + base64);
        xhr.withCredentials = true;
    },
    success: function(data) {
        users = data;
        displayUsers();
    }
});

你能帮帮我吗?

我需要字段 xhrFields:

$.ajax({
    url: 'api.example.com/users.json',
    xhrFields: {
      withCredentials: true
    },
    success: function(data) {
        users = data;
        displayUsers();
    }
});