【问题标题】:Call PHP function from AMD module moodle从 AMD 模块 moodle 调用 PHP 函数
【发布时间】:2018-08-09 14:22:04
【问题描述】:

对于 moodle 开发,我想加载一个 AMD 模块:

$this->page->requires->js_call_amd('mod_newmodule/testamd', 'init', array($content));

testamd.js 看起来像这样:

define(['jquery'], function ($) {
return {
    init : function(content) {
        $(".myclass").click(function () {
                alert("test");
            });
        }
};    
});

我想在单击按钮时执行数据库查询,而不是 alert()。如何从我的 AMD 模块调用 php 函数(执行查询)?还是应该写在AMD里面?但是又如何呢?有什么类似的最佳做法吗?

此外,我不知道返回 init 的位置。

$var = $this->page->require->...

没有返回到$var

感谢您的帮助。

【问题讨论】:

    标签: javascript php moodle amd


    【解决方案1】:

    你不能直接查询数据库,因为 js 是一个客户端脚本你必须develop a web-service。然后你可以通过

    调用它

    var promises = Ajax.call([{ methodname: 'YOUR_WEBSERVICE_METHOD_NAME', args: { exampleid: MYID, examplestring: MYSTRING } }]); //resolve promise promises[0].then(function(data) { //data contains webservice answer }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-28
      • 1970-01-01
      • 2013-03-05
      • 2018-09-14
      • 1970-01-01
      • 2014-10-08
      • 1970-01-01
      • 2015-04-28
      相关资源
      最近更新 更多