使用 javascript 和 ajax 读取 json 对象由于 CORS 策略而出现错误

Posted

技术标签:

【中文标题】使用 javascript 和 ajax 读取 json 对象由于 CORS 策略而出现错误【英文标题】:read json object using javascript and ajax i got error due to CORS policy 【发布时间】:2020-04-28 23:52:35 【问题描述】:
<!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>Document</title>
</head>
<body>
    <script>
       function ondata()
         var xhttp = new XMLHttpRequest();
         xhttp.onreadystatechange = function()
          if(this.readyState==4 && this.status==200)

            var javaobj = JSON.parse(xhttp.response);
            document.getElementById('mass').innerHTML=javaobj.name;
          
         ;
         xhttp.open("GET","student.json",true); 
         xhttp.send();
       


    </script>
    <input type="button"name="name" onclick="ondata()" value="Click"/>
    <div id="mass"></div>
</body>
</html>

我得到了错误 6hp.html:21 从源“null”访问“file:///C:/Users/Admin/Desktop/ind/ip-simple/student.json”的 XMLHttpRequest 已被 CORS 策略阻止:跨源请求是仅支持协议方案:http、data、chrome、chrome-extension、https

【问题讨论】:

是否有本地(开发)服务器正在运行?您的浏览器无法直接从文件系统请求文件。 【参考方案1】:

您的代码在文件结构方面对我有用 like this。尝试将 json 文件移动到与 html 文件相同的目录。

我可能是错的,但是浏览器将您可以从脚本访问的文件限制为同一目录中的文件。

【讨论】:

我通过tomcat服务器运行我的Ajax代码清除了错误

以上是关于使用 javascript 和 ajax 读取 json 对象由于 CORS 策略而出现错误的主要内容,如果未能解决你的问题,请参考以下文章

从 Javascript、Ajax、IE 访问二进制数据:可以从 Javascript(不是 VB)读取 responseBody 吗?

Grails 资源插件和 AJAX 加载的 javascript

JavaScript初探系列之Ajax应用

ajax copy

JavaScript之Ajax-Json

文件上传正在使用 Postman,但不适用于从浏览器运行的 Javascript