JavaScript - 未能提交用户名和密码
问题出现的原因是在请求的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字段来解决问题。
希望以上内容对大家有所帮助。