我正在尝试从同一域上的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 "*"
有没有人知道如何解决这个问题?提前感谢您的帮助。
答案 0 :(得分:0)
在您的评论中,我知道您使用了 adblocker 。
adblockers 的问题在于,它们通过网址或某些dom结构(例如class
名称或id
s)匹配规则来阻止。
一般情况下,如果浏览器遇到问题,请在禁用所有扩展程序的情况下对其进行测试。这可以(在大多数情况下)通过使用隐私模式来完成,因为许多坏扩展在那里被禁用。或使用未安装扩展程序的配置文件。
如果一切正常,那么它很可能是干扰扩展。
在您的情况下,问题在于网址:
http://bwq.aintno.info/ads/api/index.php/specimens
^________^
对于此部分,有一个匹配规则,例如EasyList
(.info/ads/
) - 很可能在其他列表中有类似的规则。
通常情况下,ads
(或类似)之前或之后的分隔符可能被阻止。
不仅广告拦截器会导致页面出现问题,还有其他扩展可能会导致页面破坏,因此您需要再次检查修改dom的常用扩展程序(我知道这不是一个好消息)。
但你绝对应该检查你的网址与过滤列表,你也可以考虑检查你的dom。或至少避免网址或class
和id
发声广告。
我目前不知道的一件事,但现在关注我的是,简单列表中的规则是.info/ads/
。在我看来,好像script?param=.info/ads/
这样的请求也可以被阻止。好的,无论如何都应该逃脱,但我想我需要在我的工作流程中添加一些额外的测试。