JavaScript - 未能提交用户名和密码

15 浏览
0 Comments

JavaScript - 未能提交用户名和密码

在使用JavaScript时无法提交用户名/密码,但在使用通用Web浏览器时,可以通过在地址栏中直接插入用户名和密码手动进行弹出。如何修复?


服务器返回错误:

enter image description here

0
0 Comments

问题出现的原因是在请求的headers中没有正确设置authorization和cache-control字段。

解决方法是在headers中添加正确的authorization和cache-control字段。

文章内容如下:

在使用JavaScript时,有时我们可能会遇到无法提交用户名和密码的问题。在以下的代码中,我们可以看到一段关于headers的设置:

var settings = {
  "async": true,
  "crossDomain": true,
  "url": "http://www.example.be/a/b/c?id=9990",
  "method": "GET",
  "headers": {
    "authorization": make_base_auth(user,password),
    "cache-control": "no-cache"
  }
}

从代码中可以看出,我们尝试在headers中设置authorization和cache-control字段。其中,authorization字段通过make_base_auth函数生成,该函数将用户名和密码进行base64编码后拼接到"Basic "字符串之后。而cache-control字段被设置为"no-cache"。

然而,尽管我们已经在headers中添加了authorization字段,但是在实际使用中仍然遇到了问题。错误信息显示为"Response for preflight has invalid HTTP status code 401",即预检请求的响应状态码为401无效。

在问题中,问为什么添加cache-control字段会有帮助,因为OP已经在headers中正确设置了authorization字段。

因此,为了解决这个问题,我们需要确保在请求的headers中正确设置authorization和cache-control字段。这样,我们可以尝试通过添加正确的cache-control字段来解决问题。

希望以上内容对大家有所帮助。

0