我正尝试使用JavaScript fetch-API和基本授权通过POST请求发送API调用。请求从Postman发出,因此URL正确。但是,使用VS Code Live Server Extension从localhost发送请求时,请求返回“加载资源失败:服务器以状态401()"响应。
从本地主机向 Postman 模拟服务器发送相同的请求也可以。
这是我的HTML文件:
<!DOCTYPE html>
<html>
<head>
<title>Title</title>
</head>
<body>
<input id="name" type="text" name="name" placeholder="name">
<input type="text" id="username" name="username">
<input type="password" id="password" name="password">
<button type="submit" onclick=JSONTest()> Submit </button>
<script type="text/javascript">
JSONTest = function() {
var name = document.getElementById("name").value;
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
let data = {title: name};
fetch("url", {
mode: 'no-cors',
method: "POST",
headers: {'Content-Type': 'application/json', 'Authorization': 'Basic ' + btoa(username + ":" + password)},
body: JSON.stringify(data)
}).then(res => {
console.log("Request complete! response:", res);
});
};
</script>
</body>
</html>
1条答案
按热度按时间qlckcl4x1#
根据您提供的信息,我倾向于说这可能是CORS问题。如果没有更多关于您试图访问的url的信息,很难说到底是什么问题。
它也可能与正在使用的协议有关,如果需要,请确保使用HTTPS。