0

このスクリプトでは、php の return は機能しませんが、echo は機能します。問題は、私がエコーを使用し、誰かがページに直接アクセスすると、フォーマットなしで出力を見ることができるということです。

<script type="text/javascript">
$(function() {

    $('.callAppend').click(function() {
             $.ajax({
                type: 'GET',
                url:  'recent.php',
                dataType:'HTML',
                cache:false,

                success: function(data){
                console.log(data);

                //}       

              },

            });    

        return false;
    });
});
</script>

これはphpスクリプトです

<?php
$feedback = 'Hello this is the php page';

return $feedback; //Use echo, and all works fine.
?>
4

2 に答える 2

2

AJAX を使用して URL をロードすると、その URL の生の出力がロードされます。Echo は出力を生成しますが、return は生成しません。return の目的を理解するには、OOP について何らかの理由を説明する必要があります。

エコーは、出力を送信する正しい方法です。

于 2012-12-19T04:53:36.720 に答える
2

return関数から別の PHP コードに値を返すために使用されます。

jQuery は、サーバー上での PHP コードの実行の一部ではないため、サーバー側で実際に何が行われているのかわかりません。jQuery はレンダリングされたサーバーの応答を待っています。これがecho提供するものです。


この SO 回答は、AJAX スクリプトがそのタイプの要求によって呼び出されることのみを許可するソリューションを提供します: ajax 関数によって呼び出されたファイルへの直接アクセスを防止する

「XMLHttpRequest」をチェックしていても、誰かがこのタイプのリクエストを Weboage 以外から行うことができます。

于 2012-12-19T04:50:31.983 に答える