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

你可以简单地这样做:$('#stage').load('testing.php?name=Zara');

于 2013-01-03T19:04:30.020 回答
0

这些文件托管在我计算机上的文件夹中

这给你带来了两个问题:

  1. 浏览器对从文件系统加载的网页可以做什么有非常严格的限制,禁止通过 XMLHttpRequest 加载其他文件
  2. PHP 是一种服务器端技术,它需要一个服务器才能工作(在这种情况下)

在网络服务器上托管您的网站。它可以是您在本地运行的,然后您可以通过以下方式访问该站点http://localhost/etc

于 2013-01-03T19:33:54.470 回答
-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 回答
-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 回答