所以基本上我是使用42matters.com APP Market API从Google Play商店获取应用程序详细信息或信息,一切正常,并且我得到了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请求,或者有人可以发布格式正确的crossdomain.xml示例吗?
或AJAX跨域的解决方法是JSONP:jQuery AJAX跨域,但API应该支持这种请求。
最后一件事是不要使用AJAX从其他来源收集数据,如果它是移动平台,则应该具有本机HTTP Request对象来执行此操作