MediaWiki raw api在脚本中调用时返回旧版本的页面

时间:2015-07-06 01:25:26

标签: javascript jquery mediawiki mediawiki-api mediawiki-extensions

我正在为MediaWiki写一个todo扩展程序。我有一个文本框,它接收项目并通过使用'raw'操作调用API将新项目的html / css插入返回的原始页面然后用更新的版本替换页面的wiki文本将其附加到页面。如果我在浏览器中访问该网址

http://url/wiki/index.php?title="+pagetoappend+"&action=raw

我得到当前页面的正确原始wiki文本。但是,当我在我的JavaScript中调用它时:

$.get("http://url/wiki/index.php?title="+pagetoappend+"&action=raw")

它会返回页面的旧版本,但尚未附加任何项目。这意味着每次运行脚本时,它都会删除前一项并替换它,而不是将其附加到我的列表中。

我的JS似乎没有问题,因为我在控制台中打印JS调用API返回的wikitext,它正在检索页面的“旧”版本。我试过清除页面而没有改变行为。

是否存在返回API调用的缓存或我需要清除的内容?还有其他建议吗?

2 个答案:

答案 0 :(得分:0)

因此,虽然我没有弄清楚我做错了什么,但我使用了以下内容:

$.get("http://url.com/wiki/api.php?page="+pagetoappend+"&action=parse&prop=wikitext&format=json")

然后解析了wikitext的JSON文件

var data = jsondata.parse.wikitext["*"];

问题没有完全解决,但至少要避免。

答案 1 :(得分:0)

MediaWiki中的内部缓存往往在适当的时候失效;您的浏览器很可能会缓存响应。您可以通过附加缓存断开器参数(或使用相应的jQuery参数)来防止这种情况。

如果要附加到页面末尾(或模板),则更简单的方法是使用edit APIappendtext参数。