无法显示导致CORS策略的值

时间:2018-11-25 22:55:21

标签: javascript apache .htaccess cors

我有一个运行在v4.3.6上的Invision社区论坛,有两个主题。 我正在研究一种较新的产品,我想显示一个json db给出的在线/总数。

为此,我制作了仅适用于旧主题的脚本:

<p style="margin: 0;">
    Online <img alt="on.svg" src="https://www.xxxxxx.xxxxx/forum/uploads/on.svg" style="width:8px; margin: 0 0 3px 0;"><span id="d-online"></span> | Membri &icirc;n total <img alt="total.svg" src="https://www.xxxxxx.xxxxxx/forum/uploads/total.svg" style="width: 8px; margin: 0 0 3px 0;"><span id="d-total"></span>
</p>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><script type="text/javascript">
$(document).ready(function(){
  $.getJSON('https://XXXXXXXXXX.xyz/morpheus/db.json', function(jd) {
    $('#d-online').append("&nbsp;", jd.online);
    $('#d-total').append("&nbsp;", jd.total);
 });
});
</script>

这应该给我这个: https://i.imgur.com/I4FdhSN.png

在我正在处理的较新主题上,chrome在控制台中输出此错误: https://i.imgur.com/n3AL86E.png

我尝试过

使用这些规则在网站的根文件夹中创建一个.htaccess文件

Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"

但是它根本不起作用,错误仍然出现。
我没有在*字段上使用Access-Control-Allow-Origin,而是尝试将承载该db.json的网站作为源,但是它没有用。
因此,我尝试将htaccess文件放在论坛所在的/ forum /文件夹中,但是什么也没有。

我尝试按照this website上的步骤进行操作,但是没有任何效果,javascript和php均无效。

错误:

Access to XMLHttpRequest at 'https://xxxxxxxxxx.xyz/morpheus/db.json?csrfKey=3e4139dc5b1b138ab0bcbdf7d20e4735' from origin 'https://www.xxxxxxxxxx.ro' has been blocked by CORS policy: Request header field X-Requested-With is not allowed by Access-Control-Allow-Headers in preflight response.

以下是chrome控制台中db.json标头的一些屏幕截图: https://i.imgur.com/HMbeRV1.png
https://i.imgur.com/xCoDT6R.png

我该如何解决?

1 个答案:

答案 0 :(得分:-1)

要解决此类问题,我喜欢使用两个单独的工具:

  • Fiddler:浏览器路由跟踪器,可满足您所有的网络和CORS检查需求。
  • PostMan:一种简单的方法,用于配置必要的标头和身份验证配置,以确保您具有所有适当的参数来访问必要的数据。