【问题标题】:localhost, Cross-Origin Request Blocked , CORS header ‘Access-Control-Allow-Origin’ missing本地主机,跨域请求被阻止,CORS 标头“Access-Control-Allow-Origin”缺失
【发布时间】:2017-05-18 20:46:03
【问题描述】:

有一个 jar 文件 random_file.jar ,它将以 XML 格式输出到一个 URL,如 http://localhost:8010/statistics,客户端 UI 程序需要读取数据并将其绘制为图形。

在进行ajax调用时,会抛出错误,Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:8010/statistics . (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).下面是ajax调用;

    var url= 'http://localhost:8010/statistics ';
    $.ajax({
        url: url,
        crossOrigin: true,
        type: 'GET',
        dataType: "xml",
        accept: 'application/xml'
    }).done(function (data) {
        console.write(data);                
    })

虽然客户端 UI 程序运行在本地 Web 服务器上,但 ajax 调用失败并出现 CORS 错误,请提出建议。

【问题讨论】:

  • 你在使用 WordPress 吗???
  • 否,服务端和客户端都在localhost,分别使用java和jquery。
  • 你真的在请求中使用<port>吗???
  • 服务器在8010监听,客户端在8080端口的码头。
  • 这样你就有了。只有协议+主机+端口相同时才认为相同。

标签: jquery ajax cors


【解决方案1】:

只有在协议 + 主机 + 端口相等时才认为请求来源相同。 您可以尝试使用Jetty CORS Filter(可在 web.xml 中配置)或使用代理来修复它。

【讨论】:

    猜你喜欢
    • 2015-10-01
    • 1970-01-01
    • 2016-12-21
    • 2016-04-02
    • 2019-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多