jQuery GET到同一域上的API会产生CORS错误

时间:2013-06-28 09:25:12

标签: jquery .htaccess get cors

我正在尝试从同一域上的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 "*"

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

1 个答案:

答案 0 :(得分:0)

在您的评论中,我知道您使用了 adblocker

adblockers 的问题在于,它们通过网址或某些dom结构(例如class名称或id s)匹配规则来阻止。

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

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

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

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

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

通常情况下,ads(或类似)之前或之后的分隔符可能被阻止。

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

但你绝对应该检查你的网址与过滤列表,你也可以考虑检查你的dom。或至少避免网址或classid 发声广告。

我目前不知道的一件事,但现在关注我的是,简单列表中的规则是.info/ads/。在我看来,好像script?param=.info/ads/这样的请求也可以被阻止。好的,无论如何都应该逃脱,但我想我需要在我的工作流程中添加一些额外的测试。