对于开发情感,我想加载一个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
?
感谢您的帮助。
答案 0 :(得分:0)
您无法直接查询数据库,因为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
}