4

我正在尝试从同一域上的 API 加载一些数据。您可以在http://bwq.aintno.info/adc_temp找到该示例。请求在页面加载时开始,因此如果您查看控制台,您会看到请求失败。但是,如果我自己在浏览器中访问链接(http://bwq.aintno.info/ads/api/index.php/specimens)或使用 Postman 执行 GET 请求,它会返回 JSON 就好了。这是我的 .htaccess 文件的内容:

Header set Access-Control-Allow-Origin "*"

有谁知道如何解决这个问题?提前感谢您的帮助。

4

1 回答 1

0

根据您的评论,我知道您使用了广告拦截器

广告拦截器的问题在于,它们通过匹配规则进行拦截,无论是通过 url 还是通过某些 dom 结构(如class名称或ids)。

通常,如果您的浏览器有问题,请在禁用所有扩展程序的情况下对其进行测试。这可以(在大多数情况下)通过使用隐私模式来完成,因为在那里禁用了许多不良扩展。或使用未安装扩展的配置文件。

如果那里一切正常,那么很可能是干扰扩展。

在您的情况下,问题出在网址上:

 http://bwq.aintno.info/ads/api/index.php/specimens
                  ^________^

对于这部分,例如EasyList( .info/ads/) 中有一个匹配规则 - 很可能在其他列表中有类似的规则。

因此,通常在ads之前或之后有类似(或类似)的分隔符可能会被阻止。

不仅广告拦截器会导致页面出现问题,还有其他扩展可能会导致页面中断,因此您需要再次检查修改 dom 的常用扩展(我知道这不是一个好消息)。

但是你绝对应该对照过滤列表检查你的 url,你也可以考虑对照它检查你的 dom。或者至少避免使用网址,或者classid听起来广告。

我目前不知道但现在让我有点担心的一件事是,简单列表中的规则是.info/ads/. 在我看来,好像script?param=.info/ads/也可以阻止类似的请求。好的,无论如何这应该被转义,但我认为我需要在我的工作流程中添加一些额外的测试。

于 2013-06-28T11:58:28.237 回答