四处寻找,通过mediawiki API使用AJAX添加类别似乎很简单:
var api = new mw.Api();
function addCat( category ) {
api.postWithToken( "edit", {
format: 'json',
action: "edit",
title: mw.config.get( "wgPageName" ),
appendtext: category
} ).done( function( result, jqXHR ) {
mw.log( "Saved successfully" );
location.reload();
} ).fail( function( code, result ) {
if ( code === "http" ) {
mw.log( "HTTP error: " + result.textStatus ); // result.xhr contains the jqXHR object
} else if ( code === "ok-but-empty" ) {
mw.log( "Got an empty response from the server" );
} else {
mw.log( "API error: " + code );
}
} );
}
addCat('[[Category:TEST]]');
但我没有看到使用API删除文本(即上面添加的类别字符串)的好方法。我能看到的唯一方法就是拉出整个页面的标记,删除类别文本,然后通过API发回整个剩余的文本。难道没有更清洁的方式可以完全破坏页面吗?