(function ($) {
Drupal.behaviors.myModuleAjax = {
interval: null,
attach: function (context, settings) {
interval = setInterval(function() {
//Place where your php script will be.
$.getJSON(Drupal.settings.basePath + "ajax/ajaxEventCheck.php", {
//Any data you need to pass to php script. For example table name.
tableToCheck: "my_table"
})
.done(function(json) {
//Success, got some data, notification logic here.
alert("changes");
})
.fail(function(jqxhr, textStatus, error) {
//Handle communication failing.
});
//Check each 5 seconds.
}, 5000);
},
}
} (jQuery));
1条答案
按热度按时间3okqufwl1#
据我所知,没有这样的功能实现。尝试使用ajax调用来实现这一点
创建
myModuleAjax.js
在模块的某个地方用ajax循环文件。将此脚本添加到页面
drupal_add_js(drupal_get_path('module', 'myModule') . '/js/myModuleAjax.js');
创建ajaxEventCheck.php
脚本,它将检查您的事件(表更新)是否以json格式返回信息,它应该以编辑:assumig这个脚本不在drupal使用范围内
drupal_exit()
,只需使用打印的json结束脚本,如果您需要在脚本中使用drupal功能,这将是一个更棘手的问题,请参阅下面的开始部分这些步骤应该允许您模拟加载的页面和后端之间的持续通信。