1

jquery を使用して、.php ファイルから情報を取得し、別の HTML ページで実行しようとしています。

これを試すために、次の例を使用しようとしました: http://www.tutorialspoint.com/jquery/ajax-jquery-get.htm

.php ファイルには以下が含まれます。

    <?php
    if( $_REQUEST["name"] )
    {
        $name = $_REQUEST['name'];
        echo "Welcome ". $name;
    }
    ?>

================ HTMLページコードには以下が含まれます:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
    <title>Sandbox</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

    <script type="text/javascript" src="http://www.google.com/jsapi"></script>
    <script type="text/javascript">
    // has the google object loaded?
    if (window.google && window.google.load) {
        google.load("jquery", "1.3.2");
    } else {
        document.write('<script type="text/javascript" src="http://joecrawford.com/jquery-1.3.2.min.js"><\/script>');
    }
    window.onload = function() {
        $('#test').css({'border':'2px solid #f00'});
    };
    </script>
    </head>
    <body>
            <!-- -------- Test jQuery -------- -->
            <p id="test">hello jQuery</p>
            <!-- -------- /end Test jQuery -------- -->

    <script type="text/javascript" language="javascript">
      $(document).ready(function() {
          $("#driver").click(function(event){
              $.get( 
                 "/testing.php",
                 { name: "Zara" },
                 function(data) {
                    $('#stage').html(data);
                 }

              );
          });
       });
    </script>
     <p>Click on the button to load result.html file:</p>
       <div id="stage" >
              STAGE
       </div>
       <input type="button" id="driver" value="Load Data" />
    </body>

「テスト結果」によると、jquery ライブラリは正常にロードされました。

何らかの理由で、「testing.php」ファイルの内容がプルされていません...まるで間違ってリンクされているかのようです。ファイルのリンクが間違っていませんか? (.php ファイルと .html ファイルの両方が同じフォルダーにあります)

PHP の echo ステートメントのような単純なことを試してみましたが、ファイルから何も取得されず、html ページに公開されませんでした。

あなたが見る簡単な修正があるかもしれません。この問題の解決にご協力いただき、ありがとうございます。前もって感謝します!

4

4 に答える 4

0

ファイルは私のコンピューター上のフォルダーからホストされます

これにより、2つの問題が発生します。

  1. ブラウザは、ファイルシステムからロードされたWebページが実行できることに対してかなり厳しい制限を課し、XMLHttpRequestを介した他のファイルのロードは禁止されています。
  2. PHPはサーバー側のテクノロジーであり、機能するにはサーバーが必要です(このコンテキストでは)

Webサーバーでサイトをホストします。ローカルで実行するものでもかまいません。その後、次の方法でサイトにアクセスできます。http://localhost/etc

于 2013-01-03T19:33:54.470 に答える
0

これを簡単に行うことができます:$('#stage').load('testing.php?name=Zara');

于 2013-01-03T19:04:30.020 に答える
-1

私はむしろ次のことをしたいです...

<?php
    if( $_GET["name"] )
    {
        $name = htmlspecialchars(trim($_GET['name']));
        echo "Welcome ". $name;
    }
?>

<script type="text/javascript" language="javascript">
  $(document).ready(function() {
      $("#driver").click(function(event){
        $.load( "testing.php?name=Zara, function(data) {
                $('#stage').html(data);
             }

          );
      });
   });
</script>
于 2013-01-03T19:34:27.120 に答える
-1

代わりに jquery.ajax を使用してください。ここにあなたのHTMLコードがあります

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Sandbox</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
// has the google object loaded?
if (window.google && window.google.load) {
    google.load("jquery", "1.3.2");
} else {
    document.write('<script type="text/javascript" src="http://joecrawford.com/jquery-1.3.2.min.js"><\/script>');
}
window.onload = function() {
    $('#test').css({'border':'2px solid #f00'});
};
</script>
</head>
<body>
        <!-- -------- Test jQuery -------- -->
        <p id="test">hello jQuery</p>
        <!-- -------- /end Test jQuery -------- -->

<script type="text/javascript" language="javascript">
  $(document).ready(function() {
      $("#driver").click(function(event){
          $.ajax({ 
             url: "testing.php",
             data: { name: "Zara" },
             success: function(data) {
                $('#stage').html(data);
             }

          });
      });
   });
</script>
 <p>Click on the button to load result.html file:</p>
   <div id="stage" >
          STAGE
   </div>
   <input type="button" id="driver" value="Load Data" />
</body>
于 2013-01-03T19:25:50.260 に答える