我有两个系统 - 一个是仅从数据库返回数据的API,另一个是显示所述数据的系统。
两个系统都存在于不同的URL上,用node.js + express编写,并使用头盔。
我api正常工作,并实现基本身份验证。我用swagger测试它,一切看起来都很完美。
我编写了一个对api进行AJAX调用并返回数据的系统。
const makeRequest = function () {
const request = $.ajax({
headers: {
Authorization: 'Basic ${hash of the username:password}',
},
// crossDomain: true, - thanks Kaddath!
contentType: 'application/json',
type: 'POST',
async: true,
url: `${url}`,
});
...
AJAX调用导致401错误。
Failed to load resource: the server responded with a status of 401 (Unauthorized)
5a3ce14cbf309e6a92ee6216:1 Failed to load #request-url#: Response for preflight has invalid HTTP status code 401.
scripts.js:144 error
系统无法在本地运行或在现场使用。
点击终点时,req.headers.authorization
参数为empty
- 甚至没有失败。
如果我删除端点上的基本身份验证要求,系统可以完美运行 - 所以它就是这样。
我在AJAX请求中看到了很多实现基本身份验证的方法,但似乎都没有工作 - 我做错了什么?
谢谢,
奥利