通过mediawiki API删除类别

时间:2016-06-23 20:07:00

标签: javascript ajax mediawiki

四处寻找,通过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发回整个剩余的文本。难道没有更清洁的方式可以完全破坏页面吗?

1 个答案:

答案 0 :(得分:1)

不幸的是没有。类别基于页面的文本表示,因此您无法避免操纵该表示。有关删除类别的JavaScript代码示例,请参阅HotCat