html Post请求从localhost返回401,但从postman工作

wecizke3  于 2022-12-21  发布在  Postman
关注(0)|答案(1)|浏览(326)

我正尝试使用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>
qlckcl4x

qlckcl4x1#

根据您提供的信息,我倾向于说这可能是CORS问题。如果没有更多关于您试图访问的url的信息,很难说到底是什么问题。
它也可能与正在使用的协议有关,如果需要,请确保使用HTTPS。

相关问题