0

POST データを同じ (現在の) ページに送信したいのですが、コールバック時に "if [$_POST]" コード ブロックでエコーした HTML を受け取るだけです。現在、クリックしたスパンにHTMLコードを返しますが、ページ全体のHTMLコードを返しますが、これは確実ではありません。

非常に単純であり、私のコードがあなたをさらに混乱させると思うので、私の言いたいことを理解していただければ幸いです。ありがとう!

4

2 に答える 2

1

問題は、POST を使用して必要なデータを送信する場合に、完全なソースを取得するのではなく、ページの一部のみを要求する方法です。これは Javascript 側では正しく解決できません。実際に必要なのは、サーバー側で確認することだけです: POST データがあるかどうか。POST データが存在する場合は、ページのごく一部のみを作成して応答する必要があります。また、取得したばかりのページのソースを完全に解析して、必要な部分だけを見つけることもできます。ただし、この方法では、パフォーマンスとトラフィックに関連する問題が発生します。結論として、1 つの小さな部分だけを取得するために別の URL を使用することをお勧めします。異なる目的のために異なる方法で同じ URL を使用することは悪い習慣です。

于 2013-10-23T22:17:48.687 に答える
0

応答を送信したら、スクリプトを終了する必要があります。

<?php if(isset($_POST['is_ajax'])){?>
    goes content
<?php 
} die;
?>

それから他のコンテンツ。

またはより良い方法

    if(
      !empty($_SERVER['HTTP_X_REQUESTED_WITH']) 
      && 
       strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'
    ) {?>
                goes content  
<?php }  die;?>
于 2013-10-23T23:19:38.803 に答える