javascript – 使用.getJSON获取Play商店应用详细信息时出现Cross Origin Block Request [CORS]错误

所以基本上我使用42matters.com APP市场API从谷歌游戏商店获取应用程序详细信息或信息,一切正常,我收到了 JSON回复,但当我周末假期后回到办公室时,这个相当奇怪的错误来了,没有任何东西被退回.

我使用了$.getJSON函数,如:

var packageID = 'com.whatsapp';
   $.getJSON('https://42matters.com/api/1/apps/lookup.json?p='+packageID+'&access_token=accesstoken1234')
.done(function(appDetails) {
            $('#logo').html(JSON.stringify(appDetails));
        });

如上所述,这是返回数据,我能够相应地改变一切,但现在它无缘无故地给了我这个错误

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://42matters.com/api/1/apps/lookup.json?p=com.whatsapp&access_token=accesstoken1234. This can be fixed by moving the resource to the same domain or enabling CORS

我已经使用PHP启用了CORS,没有任何问题,尝试更改apache的conf文件以启用CORS,但服务不会重启,所以我被卡住了.

还有一件事,当我在浏览器中手动输入上述链接时,它确实提供了所需的结果.请帮我解决一下

解决方法

在浏览器端阻止CORS,不允许AJAX从另一个域请求数据.您应该联系42matters.com团队为您打开crossdomain.xml,如 CORS jQuery AJAX requestCan someone post a well formed crossdomain.xml sample?

或者AJAX Cross-Domain的解决方法是JSONP:jQuery AJAX cross domain,但API应该支持这种请求.

最后一件事是不要使用AJAX从其他来源收集数据,如果是移动平台,它应该有本机HTTP Request对象来做这个

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...