2

我被这件事难住了一段时间。我已经成功创建了一个 MediaWiki API 扩展,我可以使用 API url 从中提取数据,但现在我想另辟蹊径。我想使用 JS 将一些简单的数据发送到服务器以存储在会话变量中(在 PHP 中)。我已经尝试过类似以下的东西:

        $.ajax({
            // start POST request
            type: "POST",
            // url to which the request is sent
            url: "/",
            // data to the server
            data: { myvariable: 0 },
            // Type of data
            dataType: 'json',
            // Funciton to be called if the request succeeds
            success: function( data ){
                console.log("POST successful with " + data);
            }

        })

我从根本上没有得到的是如何在 PHP 中“拾取”发布的数据。在我的研究中,我发现我应该在 PHP 中查找 $_POST['myvariable']。然而,我不确定我将如何或在哪里创建可以监听来自 JS 的此类 POST 的东西。在我看来,最简单的解决方案是,如果我可以在我的 API 扩展上编写一个方法,该方法只需在发布该内容时将发布的 myvariable 的值分配给会话变量。事实上,我已经编写了这个方法,但我不清楚如何指示 AJAX 在 PHP 中调用它。我还读到出于安全原因,可能不建议使用这种类型的东西。

我在其他地方看到过建议我应该在 JS 中做一些事情,比如:

var api = new mw.Api();

...然后使用 Api 对象的方法执行 Ajax GET 和 POST 请求。好吧,我尝试创建这个对象的一个​​实例,它在控制台上抛出错误,说它不是一个可识别的函数或类似性质的东西。

我对这一切都还很陌生,但我已经束手无策,试图找出理论上应该非常简单的东西。有什么建议么?

4

0 回答 0