2014-11-05 43 views
0

我有这个问题...我正在从JSON文件加载名称的项目(这不重要)。链接重定向后可以加载图片/ png数据吗?

事情是我用维基特殊:文件路径链接来获取我的图像。所以当我输入我的浏览器时: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. 

所有帮助是值得欢迎的。

+1

你想要做什么? – 2014-11-05 08:34:31

+0

查看图像,你可以直接在标签中给出链接。像这样 所以你不用担心重定向。图片将会显示 – shabeer 2014-11-05 08:35:04

+0

嗨Shabeer!是的,我知道这有效,但它困扰我。我想加载所有图像,将它们放入数组或对象中,并在加载所有图像时显示它们。有我的问题 – Nicholas 2014-11-05 09:05:26

回答

1

Special:Filepath对于链接到wiki内的文件很有用,但是如果您想以编程方式获取路径,使用API​​会给您更多的灵活性。要获得文件路径,只需使用prop=imageinfoiiprop=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

+0

谢谢你!这真的很有用!现在我可以在显示屏幕之前加载所有图像! – Nicholas 2014-11-18 14:26:43