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

Javascript 访问控制允许源随机发生,javascript,json,playframework-2.0,cross-domain,Javascript,Json,Playframework 2.0,Cross Domain,我有一个本地服务器:127.0.0.1:8000和一个网站:127.0.0.1:9000,都运行play2框架 我在服务器上发出多个jqueryajax请求,以获取json数据并用这些数据加载图形 问题是,以完全随机的方式,我得到了一个访问控制允许原点错误。我读了很多关于access control allow origin的文章,并通过以下方式修改了服务器的头响应: Response.ok(Engine.executeQuery(identifier, queryParameters))

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

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

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

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,则永远不会触发错误。当然,我需要异步调用(这太容易了)

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


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

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


感谢您的帮助。

打开开发者控制台,在网络选项卡中检查所有ajax URL的标题是否包含cors标题。若并没有,那个么你们在服务器上有问题,而不是在客户端。我刚刚检查过,我想接受:*/*表示一切正常,对吗?所以我在服务器端遇到了问题?您应该有“访问控制允许来源”这个标题,“接受”标题用于不同的目的。请检查您的服务器端是否未为所有请求设置Allow origin header,因此您收到了错误My response header是否正常,所有访问控制Allow-*是否已设置,并且正常,我可以从工作的请求中看出这一点。请求标头中没有任何允许的访问控制。应该吗?请求头不需要cors的任何东西