在按钮上单击将标志保存到 mediawiki 1.3 中的数据库

On button click save a flag to database in mediawiki 1.3

我刚接触 mediawiki。我试图实现 Manual:Tag extensions/Example (https://www.mediawiki.org/wiki/Manual:Tag_extensions/Example)。但该示例基于 mediawiki 版本 < 1.3。我有一个提交按钮。如果单击提交按钮,我想将当前用户名和标志(例如 1)保存到数据库 table。但我越来越 未捕获的语法错误:意外的标识符(位于 load.php?lang=en&modules=ext.Example.welcome%7Cjquery&skin=vector&version=h3cy2:1:383)。

有人可以建议我如何解决这个问题吗 我的钩子

class PollHooks implements
\MediaWiki\Hook\ParserFirstCallInitHook
{
Public function onParserFirstCallInit( $parser ) {
    $parser->setHook( 'btn', [ self::class, 'pollRender' ] );
    //$parser->setHook( 'poll', [self::class, 'pollRender' ] ); 
}
public static function pollRender( $data, $attribs, $parser, $frame ) {
    $ret = '<table class="wtable">';
    $ret .= '<tr>';
    $ret .= '<td align="center" colspan=2><input id="btn002" type="button" value="Submit"></td>';
    $ret .= '</tr>';
    $ret .= '</table>';
    return $ret;
}

我的index.js

( function () {
$("#btn001").click
        (
            function() {
                alert("Button clicked " + mw.user.getName() + ".");
                
                console.log("Button clicked.");
                $var user = mw.user.getName();
                $flag = 1;
                
                $.get(
                        mw.util.wikiScript(),
                        {
                            action: 'ajax',
                            rsargs: [user, flag],
                            rs: 'MediaWiki\Extension\Example\SubmitApi'
                        }
                );
            }
        );

}());

SubmitApi.php

use ApiBase;

使用Wikimedia\ParamValidator\ParamValidator;

class SubmitApi 扩展了 ApiBase {

public function execute() {
    /* … */
    global $wgUser;
    
    
    $dbw = wfGetDB( DB_REPLICA );
    
    // Insert vote
    $insertQuery = $dbw->insert(
                   'polldb',
                    array(
                        'poll_user' => $user,
                        'poll_flag' => $flag
                    )
    );
    $dbw->commit();
}

public function getAllowedParams() {
    return [
        'level' => [
            ParamValidator::PARAM_TYPE => 'integer',
            ParamValidator::PARAM_REQUIRED => true,
        ]
    ];
}

} ?>

index.js:

$var user = mw.user.getName();

$var 中删除 $