Javascript 在不禁用chrome中的安全性的情况下修复CORS错误

Javascript 在不禁用chrome中的安全性的情况下修复CORS错误,javascript,google-chrome,cors,Javascript,Google Chrome,Cors,我有一个javascript代码,它使用ajax请求从一些json_url加载json数据。在chrome中运行html时,我遇到以下错误 Access to XMLHttpRequest at json_url from origin 'http://localhost:8000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Acce

我有一个javascript代码,它使用ajax请求从一些json_url加载json数据。在chrome中运行html时,我遇到以下错误

 Access to XMLHttpRequest at json_url from origin 'http://localhost:8000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
为了修复此错误,我通过以下命令禁用web安全性来打开chrome 谷歌浏览器-禁用网络安全-用户数据目录=/tmp/chrome\u dev\u test

有没有办法修复这个错误,这样我就可以在chrome上运行html而不必每次都禁用web安全性

使用的前端代码:

function getJSON(url){
    $.ajax({
        type:'GET',
        url:url,
        dataType:'json',
        contentType:'application/json', 
        timeout: 3000,
        success:function(data){
            //do something with data
        }
   });
}

您需要在服务器端启用CORS。这里有许多服务器的指南,请使用适合您的服务器

同样在客户端代码中,当您指定请求时,请添加它是CORS请求。例如:

$.ajax({
    url: "http://www.someotherdomain.com",
        type: "POST",
        crossDomain: true, //<-- this right here
        data: JSON.stringify(somejson),
        dataType: "json",
        success: function (response) {
            // ...
        },
        error: function (xhr, status) {
            // ...
        }
    });

看起来您需要在后端处理访问控制,作为本地主机,我假设您还负责编写服务器端代码。我可以更改服务器端代码。您可以指定如何在后端处理它吗?您需要添加用于服务前端内容的内容和后端内容。您可以添加您正在使用的服务器类型并发布处理ajax请求的代码吗?我不久前遇到过同样的问题,您可以检查我做了什么。如果您有权访问数据库,则可以在标题中添加所需的参数,在您的情况下是缺少访问控制允许源。我不知道您在后端使用的是什么语言,但如果是PHP,您可以简单地解决这个问题。此外,如果您提供有关您的问题的更多详细信息,例如您已经尝试过的内容以及当前的前端和后端代码,则可以帮助其他人更好地理解您的问题。无需强制跨域:TrueT已经跨域处理跨域请求,直到您想要对响应进行一些特殊处理。有关详细说明,请参见。