我有这个问题...我正在处理一个从JSON文件加载名称的项目(这并不重要)。
问题是我使用Wikia Special:Filepath 链接来获取我的图像。因此,当我在浏览器中输入http://2007.runescape.wikia.com/wiki/Special:Filepath/Abyssal_head.png时,它会返回此图片链接:http://img1.wikia.nocookie.net/__cb20140108135954/2007scape/images/0/0f/Abyssal_head.png。
有没有办法解决此重定向问题,以便我可以使用ajax调用正确加载它? 每当我尝试执行此第一个链接时,我会收到此错误(这是正常的,因为它无法找到我认为正确的标头):
XMLHttpRequest cannot load http://2007.runescape.wikia.com/wiki/Special:Filepath/Abyssal_head.png. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.
欢迎所有帮助。
答案 0 :(得分:1)
Special:Filepath
对于链接到Wiki中的文件很有用,但如果您想以编程方式获取路径,则使用API将为您提供更多灵活性。要获取文件路径,只需使用prop=imageinfo
和iiprop=url
参数,例如this:
api.php?action=query
&titles=Image:Abyssal_head.png
&prop=imageinfo
&iiprop=url
&format=json
这会给你一个像这样的json对象
{"query": {
"normalized":...,
"pages":{
"28052":{
"pageid":28052,
"ns":6,
"title":"File:Abyssal head.png",
"imagerepository":"local",
"imageinfo":[
{
"url":"http:\/\/img1.wikia.nocookie.net\/__cb20140108135954\/2007scape\/images\/0\/0f\/Abyssal_head.png",
"descriptionurl":"http:\/\/2007.runescape.wikia.com\/wiki\/File:Abyssal_head.png"
}
]
}
}
}}
...在query.pages.{PAGE}.imageinfo.url
您可以在一个文件中查询多个文件,将其标题与|
分开。
有关完整文档,请参阅2007.runescape.wikia.com/api.php
。