0

JavaScript と JQuery を使用して PHP スクリプトの出力をロードしようとしています。私が使用している JavaScript 関数は、JQuery の $.get 関数を使用して、別の部門に表示したい php スクリプトを呼び出します。私が書いたスクリプトは次のとおりです。

<script type="text/javascript">
function on_load() {
    $(document).ready(function() {
        alert('here');
        $.get("http://localhost/dbtest.php", function(data){
            alert('here too too');
            $("uname").html(data);
        });
    });
}

</script>

PHP スクリプト (dbtest.php) は、単純な echo ステートメントを使用します。

echo "hello, world!!!";

ここで最初のアラートが表示されますが、2 番目のアラートは表示されません。ここで何が間違っているのでしょうか?

4

6 に答える 6

2

はIDだと思いunameます。その場合は、次を使用する必要があります。

$("#uname").html(data);

これをデバッグ用に php に追加できます。

error_reporting(E_ALL ^ E_NOTICE);
ini_set("display_errors", 1); 

http://また、ajax 呼び出しから削除して、代わりに相対パスを使用してみてください。

于 2013-09-03T19:22:13.927 に答える
0

以下の人たちは、セレクターが間違っていると指摘しました。確かにそれは問題ですが、本当の問題は、2 番目のアラートが表示されないことだと思います。おそらく、php ファイルlocalhost/dbtest.phpにアクセスできません。新しいタブでlocalhost/dbtest.phpを開くとどうなりますか?

于 2013-09-03T19:28:36.757 に答える
0

ここに実際の例があります:

<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>

<div id="uname"></div>

<script>
function on_load() {
    $(document).ready(function() {
        alert('here');
        $.get("http://localhost/dbtest.php", function(data){
            alert('here too too');
            $("#uname").html(data);
        });
    });
}

on_load();
</script>

same-origin-policy に注意してください。dbtest.php からヘッダーを追加して他のオリジンを許可しない限り、dbtest.php をロードするページは同じオリジンからのものである必要があります。

于 2013-09-03T19:30:20.670 に答える