我正在使用Drupal。
我正在尝试让每个X秒更新一个字段,而不会刷新整个页面。
我使用这样的代码:
<script>
var refreshId = setInterval(function()
{
$('#responsecontainer').fadeOut("slow").load('response.php').fadeIn("slow");
}, 10000);
</script>
但response.php
应该是我正在刷新的领域?
Drupal是什么?我应该使用什么而不是response.php
?
答案 0 :(得分:1)
首先,您应该为此创建一个模块。您应该在模块中定义一个新的菜单项。例如:
function yourmodule_menu() {
$items = array();
$items["ajax/get-field-value"] = array(
"title" => "Some title",
"page callback" => "yourmodule_page_callback",
"access callback" => true,
"type" => MENU_CALLBACK
);
return $items;
}
然后让你的函数返回该字段的实际值:
function yourmodule_page_callback() {
// get the field value
print $field_value; exit;
}
然后在您的JavaScript代码中,您应该加载/ajax/get-field-value
页面而不是response.php
答案 1 :(得分:0)
Marius Ilie建议正确的方向。
您可以访问以下链接,了解有关如何创建自定义模块以使用javascript / jquery的更多详细信息。见接受的答案。
答案 2 :(得分:0)
您可能还想查看使用node.js。有一个模块(适用于Drupal 6和7):nodejs module。
现在这是保持与客户端的低成本(服务器负载)连接并将数据“推送”到页面的热门新方法,因此您可以拥有“股票代码”或其他此类信息更新在客户端。
要了解更多信息,您可以view a good DrupalCon London session关于将Node.js与Drupal站点集成的主题。