0

私は問題を抱えており、MVC パラダイムを傷つけようとしているので、どうすればよいか尋ねます。jQuery .post() メソッドを使用して 10 秒ごとに更新されるページを取得しました。

setInterval(function() {
    $.post("http://XYZ.de<?php echo $this->webroot."Posts/index"; ?>", { liveUpdate: "true" },
        function(response) {
            $('#loadingContent').html(response);
        }
    );
}, 10000);

ここで、"Posts/index" が配置されている場所で、Cake の PostsController.php を呼び出す必要があります。これにより、変数をリセットできます。

しかし、そのようには機能せず、応答は通常のページ呼び出しのすべての html で満たされますが、その div に html を追加せずに純粋な PHP 変数のみを更新したいだけです。

私は何を間違っていますか?お待ちいただきありがとうございます。

4

1 に答える 1

0

あなたの配列は複雑なマルチレベルであり、JSON を解析したくないので、それを行う唯一の方法は jQuery load() を使用することです。

setInterval(function() {
  jQuery("#RefreshMeOnPage")
    .load("http://XYZ.de<?php echo $this->webroot."Posts/index"; ?> #RefreshMeInResults > *", {liveUpdate: "true"});
  }, 10000);

RefreshMeOnPageサーバーにポスト リクエストを行い、idを持つ既存の要素のコンテンツを、新しく受け取ったid を持つ要素のコンテンツに置き換えますRefreshMeInResults。ドキュメントhttp://api.jquery.com/load/

注: 10 秒のリフレッシュ レートでも、ajax コメット ソリューションhttp://cometdaily.com/maturity.htmlを調べる必要があると思います。いくつかの設定が必要ですが、変更がある場合にのみデータを受け取ります。

于 2013-04-04T20:07:47.533 に答える