【问题标题】:Why I always get same content from MediaWiki API call?为什么我总是从 MediaWiki API 调用中获得相同的内容?
【发布时间】:2018-04-27 12:05:56
【问题描述】:

我正在使用 MediaWiki API 通过 AJAX 调用获取图像。 我使用 MediaWiki Sandbox 创建了一个 api 调用来从 Wikimedia-Commons 查询这些图像。我使用了“加利福尼亚”这个标题。

这是网址:

var url_wiki = "https://commons.wikimedia.org/w/api.php?action=query&titles=California&list=allimages&ailimit=10&format=json&callback=?";

这是我正在使用的 AJAX 调用:

$.ajax({
 type: 'GET',
 url: url_wiki,
 data: {
   action:'query',
   format:'json'
 },
 dataType: 'json',
 success: function(result){
   console.log(result);
 }

现在,它似乎工作正常,因为我得到了 10 张与“加利福尼亚”相关的图像(尽管它们很奇怪): Console Result for 'California'

但是,现在我的问题是:如果我更改我的 url 属性“标题”并输入“欧洲”,例如,而不是加利福尼亚,我仍然会从“加利福尼亚”获得相同的图像......

新网址:

var url_wiki = "https://commons.wikimedia.org/w/api.php?action=query&titles=Europe&list=allimages&ailimit=10&format=json&callback=?";

Console Result for 'Europe' -> Same images!

我无法理解...我的 API 调用有问题?

【问题讨论】:

  • 这些图片似乎与任何一个主题都不相关。它们似乎只是按字母数字排序的前 10 个图像。
  • 是的,我以为他们出于某种原因被标记为“加利福尼亚”...
  • 我认为list=allimages 只返回前 10 张图片并忽略标题。
  • 如果我删除 list=allimages 我没有得到任何图像,只有“页面”结果
  • @GeorgeMarti 没有人说要删除list=allimages...

标签: javascript jquery ajax api mediawiki


【解决方案1】:

titles 参数适用于prop= API 模块(例如prop=pageimagesprop=imageinfo),它对列表模块(list=... API 调用)没有影响。顾名思义,allimages 返回所有图像。你在找search API吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-18
    • 1970-01-01
    相关资源
    最近更新 更多