我正在尝试按如下方式发出ajax请求:
var req = new XMLHttpRequest();
req.open("put", "https://scalr.api.appbase.io/aadapp1/tweet/1", true, "0v0CZUW98", "77991a95-fbbe-4b7c-abb5-b63b67c231fc");
req.withCredentials = true;
req.send();
此代码可以在浏览器的控制台窗格中执行。
所有必需的跨源头都在服务器上设置,但是我得到一个401和一个面板要求输入用户名和密码。如果服务器在localhost上运行,则相同的代码有效。即使在localhost上,也会从另一个域发出请求以检查交叉源代码是否正常工作。
本文(http://chrisroos.co.uk/blog/2013-03-08-the-behaviour-of-xmlhttprequest-withcredentials-when-used-with-cors)表示授权标头不会自动添加到跨源请求中。
是否可以在交叉原始请求中执行基本的HTTP身份验证,而无需手动设置授权标头?