我正在尝试使用以下内容从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上做这一切。想想也许这可能是我在当地尝试的问题,但没有区别。我做错了什么?
答案 0 :(得分:0)
我没有正确遵循API文档,而是将成功处理程序的名称放在URL中,而不是将其作为数据参数发送。
我有:
$.getJSON( "http://example.com?method=getMetadata&format=json&callback=mymethod&fl=*");
但这应该是:
$.getJSON( "http:/example.com?method=getMetadata&format=json&fl=*&callback=?", mymethod);