我在javascript中有一个简单的XMLHttpRequest代码,用于部署在烧瓶上的网页。
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(){}
xhr.open("POST", "http://localhost:"+"5005"+"/"+"abcd", true);
xhr.send();
当通过HTTP部署烧瓶时,这非常有效。我可以在5005上监听本地应用程序上的请求。但是当我在烧瓶上启用HTTPS模式时,这会失败。
请注意,我仍在向localhost发送HTTP帖子。
两者之间的唯一区别是网页是通过HTTPS显示的(网址有https://example.com而不是http://example.com)。
当我检查两种情况的网页来源时,它们都匹配。
我了解浏览器呈现页面并执行javascript代码。但是我不明白为什么将烧瓶模式更改为HTTPS会禁用此功能。
此行为在Chrome,Safari和IE中很常见
是否还有其他人遇到类似问题。这是浏览器中的安全功能吗(考虑到这可能是跨站点脚本)?
因为我不明白为什么它会失败。