即使在指定回调时也使用 getJSON 获取跨域错误

Getting cross domain errors with getJSON even when specifying callback

我正在尝试使用以下方法从 Worldcat 获取有关某些书籍的元数据:

$.getJSON( " http://xisbn.worldcat.org/webservices/xid/isbn/" + $isbn[1] + "?method=getMetadata&format=json&callback=mymethod&fl=*");

其中 $isbn[1] 是十位或十三位数字(0123456789 有效)。

我可以输入 http://xisbn.worldcat.org/webservices/xid/isbn/0123456789?method=getMetadata&format=json&callback=mymethod&fl=* 并得到我需要的结果,但我不会跨域来做到这一点。

控制台正在报告XMLHttpRequest cannot load http://xisbn.worldcat.org/webservices/xid/isbn/0123456789?method=getMetadata&format=json&callback=mymethod&fl=*. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://fiddle.jshell.net' is therefore not allowed access.

我在 jsfiddle 上做所有这些。想也许这可能是我在本地尝试过的问题,但没有区别。我做错了什么?

我没有正确遵循 API 文档并将成功处理程序的名称放在 URL 中,而不是将其作为数据参数发送。

我有:

 $.getJSON( "http://example.com?method=getMetadata&format=json&callback=mymethod&fl=*");

但应该是:

$.getJSON( "http:/example.com?method=getMetadata&format=json&fl=*&callback=?", mymethod);