访问控制允许起源随机发生

access-control-allow-origin happening randomly

本文关键字:随机 起源 许起源 访问控制      更新时间:2023-09-26

我有一个本地服务器:127.0.0.1:8000和一个网站:127.0.0.1:9000,两者都使用play2框架运行。

我在服务器上发出多个jquery ajax请求,以获取json数据并用这些数据加载图形。

问题是,以一种完全随机的方式,我得到了一个访问控制允许原点错误。我读了很多关于访问控制允许起源的文章,并以这种方式修改了服务器的头响应:

Response.ok(Engine.executeQuery(identifier, queryParameters))
                .header("Access-Control-Allow-Origin", "*")
                .header("Access-Control-Allow-Methods","GET, POST, OPTIONS")
                .header("Access-Control-Allow-Credentials","true")
                .header("Access-Control-Allow-Headers","Content-Type, *")
                .build();

我的ajax调用是这样进行的:

$.ajax({
        url: obj.url,
        dataType: 'json',
        crossDomain:true,
        success: function (data){
            // load graph
        }

我有10个ajax调用,都以完全相同的方式,在同一个目标url上进行。

问题是,当我加载页面(并执行ajax调用)时,有些ajax调用有效,有些则无效。如果刷新页面,则可以使用不同数量的调用。这在我看来真的很随意。

我还注意到,如果我为ajax调用指定async:false,则永远不会触发错误。当然,我需要异步调用(这太容易了)。

我看到了很多关于这个错误的帖子,我以为我知道它的一切。

欢迎任何帮助。提前谢谢。

问题已解决。我重构了服务器,它运行得很好。这似乎是一个线程问题,不够安全。

谢谢你的帮助。