我遇到了一个问题,我即将伤害MVC范式,所以我宁愿问你该怎么做。 我有一个页面,使用jQuery .post() - 方法每10秒刷新一次。
setInterval(function() {
$.post("http://XYZ.de<?php echo $this->webroot."Posts/index"; ?>", { liveUpdate: "true" },
function(response) {
$('#loadingContent').html(response);
}
);
}, 10000);
现在,在放置“帖子/索引”的地方我必须调用Cake的PostsController.php,它允许我重置变量。
但它不起作用,响应充满了正常页面调用的所有html,但我只想更新纯PHP变量而不将html附加到该div。
我做错了什么? 提前感谢您的耐心等待。
答案 0 :(得分:0)
由于你的数组是复杂的多级并且你不想解析JSON,我认为这样做的唯一方法就是使用jQuery load()。
setInterval(function() {
jQuery("#RefreshMeOnPage")
.load("http://XYZ.de<?php echo $this->webroot."Posts/index"; ?> #RefreshMeInResults > *", {liveUpdate: "true"});
}, 10000);
它将向服务器发出post请求,并将id为RefreshMeOnPage
的现有元素的内容替换为id为RefreshMeInResults
的新接收元素的内容。文档http://api.jquery.com/load/。
注意:刷新率仍为10秒,我认为你应该研究ajax彗星解决方案http://cometdaily.com/maturity.html。它只会在有变化时才会收到数据,但需要进行一些配置。