我是AJAX的新手,目前正在学习AJAX的基础知识。在我的html文件中,点击submit按钮时,我只是尝试记录一个文本文件的文本,该文本文件位于html文件本身的同一目录中。但我却犯了一个错误
CORS策略已阻止从源“null”访问“file:///d:/front_end_files/ajax/sample.txt”处的XMLHttpRequest:跨源请求仅支持协议方案:http、data、chrome、chrome-extension、HTTPS。
这是我的ajax-1.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Ajax-1 Text file</title>
</head>
<body>
<button id="btn">Click Me</button>
<script>
document.getElementById('btn').addEventListener('click',loadtext);
function loadtext(){
let xhr = new XMLHttpRequest();
console.log(xhr);
xhr.open('GET', 'sample.txt', true);
xhr.onload = function(){
if(this.status == 200){
console.log(this.responseText);
}
};
xhr.send();
}
</script>
</body>
</html>
有人能告诉我,我在这里做错了什么,还是chrome和Firefox的新功能?
这是正常的,也是为了你的安全。您不希望任何人能够通过浏览器访问或读取您的文件。
您可以运行本地服务器来测试您的请求。
以下是一些不错的选项:https://stackoverflow.com/A/20578692/10115173
这种行为是不鼓励的,因为它提供了一个安全漏洞在您的计算机,我们不希望能够做AJAX请求到我们的文件,这将暴露我们的本地系统到Web。
正如他们前面所说的,CORS不支持本地文件://访问,所以您必须找到一个绕过的方法,一个简单的方法是使用python为一个简单的HTTPServer提供服务,并在那里提供文件,例如:
python -m SimpleHTTPServer 8080
这将作为一个小型Web服务器为您当前的工作目录提供服务器。
我在没有本地服务器(apache等)的浏览器中打开index.html,然后单击按钮,它返回以下警告 CORS策略阻止了从源“null”访问“https://github.com/.../file.json”得XMLHttpRequest:请求得资源上没有“access-control-allow-origin”标头. index.js:12跨源读取阻塞(CORB)阻塞的跨源响应https://g
问题内容: 我正在尝试运行一个简单的应用程序。我有一个Express后端,在访问时会返回JSON字符串。当我运行服务器并通过AngularService向该链接发出请求时,出现以下错误: XMLHttpRequest无法加载localhost:4201/ticker。跨源请求仅支持以下协议方案:http,数据,chrome,chrome扩展名,https。 ,该模块与我的Express服务器一起使
CORS策略已阻止CORS从源站对X处XMLHttpRequest的访问:对飞行前请求的响应未通过访问控制检查:它没有HTTP ok状态。 嗨,我正在努力解决我的问题与CORS拒绝我的Vue组件与外部API与axios的交互,因为它返回此错误。我尝试了使用Barryvdh的Cors头支持和制作中间件和自定义路由。这根本行不通。Barryvdh回购中README. md中提到的一切都已经完成,不幸的
当我尝试在角7网络应用程序中执行补丁请求时,我遇到了一个问题。在我的后端,我有: 在我的前端服务中,我: 错误是: 我能做什么?谢谢
有点晚了,但我记得我最终通过在后端的配置中设置来解决这个问题。 完全偶然地,我注意到如果我在前端的客户端中设置,一切都正常工作。然而,将其切换到不断抛出错误。然后我把两个和两个放在一起,在后端设置,一切都按预期工作。 我的应用程序使用cookie,所以必须这样做。 这可能是重复的,但我没有找到与我的问题相关的线索。 我正在进行以下API调用: 这会引发一个错误: 当我将我的应用程序部署到Herok