function load_point(q) {
alert(q);
      // Change this depending on the name of your PHP file
      downloadUrl("phpsqlajax_genxml2.php?q="+q, function(data) {
  ......
      }); 
    }     function downloadUrl(url, callback) {
      var request = window.ActiveXObject ?
          new ActiveXObject('Microsoft.XMLHTTP') :
          new XMLHttpRequest;

      request.onreadystatechange = function() {
        if (request.readyState == 4) {
          request.onreadystatechange = doNothing;
          callback(request, request.status);
        }
      };

      request.open('GET', url, true);
      request.send(null);
    }
下面是phpsqlajax_genxml2.php文件<?php
$q=$_GET["q"];
echo $q;
?>
php文件当中不能接收参数q 不知道什么原因
js中alert(q);能打印q值

解决方案 »

  1.   

    1、
    request.onreadystatechange = doNothing;
    应为
    request.onreadystatechange = callback;2、load_point 的回调函数中,应以 data.responseText 访问返回的数据
      

  2.   


    版主改为callback;也不对啊  
    能否帮着看一下
    ploy.html<!DOCTYPE html >
      <head>
        <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
        <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
        <title>PHP/MySQL & Google Maps Example</title>
        <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js"></script>
        <link rel="stylesheet" href="//code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css">
        <script src="//code.jquery.com/jquery-1.10.2.js"></script>
        <script src="//code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
        <link rel="stylesheet" href="/resources/demos/style.css">
        <script type="text/javascript">
        
    var map;
    var current_date =3;

        function load() {
          map = new google.maps.Map(document.getElementById("map"), {
           center: new google.maps.LatLng(31.2232, 121.4722),
            zoom: 12,
            mapTypeId: 'roadmap'
          });
          var infoWindow = new google.maps.InfoWindow;
        }
        
        
        function load_point(q) {
    alert(q);
          // Change this depending on the name of your PHP file
          downloadUrl("phpsqlajax_genxml2.php?q="+q, function(data) {
           //alert("downloadUrl1");
            var xml = data.responseXML;
            var ers = xml.documentElement.getElementsByTagName("er");
            
            var polyOptions = {
                  strokeColor: '#000000',    // 颜色
                  strokeOpacity: 1.0,    // 透明度
                  strokeWeight: 2    // 宽度
            }  
            var poly = new google.maps.Polyline(polyOptions);
            poly.setMap(map);    // 装载         for (var i = 0; i < ers.length; i++) {
              var name = ers[i].getAttribute("name");
              var address = ers[i].getAttribute("address");
              var type = ers[i].getAttribute("type");
              var point = new google.maps.LatLng(
                  parseFloat(ers[i].getAttribute("lat")),
                  parseFloat(ers[i].getAttribute("lng")));
              var html = "<b>" + name + "</b> <br/>" + address;
              var path = poly.getPath();    //获取线条的坐标
              path.push(point);    //为线条添加标记坐标
              //生成标记图标      
              var er = new google.maps.Marker({    
                  position:point
              });
            }
          });
        }

        function downloadUrl(url, callback) {
          var request = window.ActiveXObject ?
              new ActiveXObject('Microsoft.XMLHTTP') :      //针对IE5 IE6 使用
              new XMLHttpRequest;

          request.onreadystatechange = function() {
            if (request.readyState == 4) {
              request.onreadystatechange = doNothing;
              callback(request, request.status);
            }
          };

          request.open('GET', url, true);
          request.send();
        }
        
        //时间控件函数
      $(function() {
      
         $( "#datepicker" ).datepicker();
        
         //alert($("#datepicker").val());
         //alert("time");
      });        
      
      
        function doNothing() {}

        //]]>   </script>  </head>  <body onload="load()">
      
       <div>
            <div id="map" style="width: 1000px; height: 600px"></div>
            <div id="button" >
             <p>Date: <input type="text" id="datepicker">
             <button onclick="load_point(current_date)">轨迹回放</button> </p>
            </div>
            
        </div>
      </body></html>
    phpsqlajax_genxml2.php<?php$q=$_GET["q"];
    echo $q;
    $username="root";
    $password="";
    $database="data";function parseToXML($htmlStr)
    {
    $xmlStr=str_replace('<','&lt;',$htmlStr);
    $xmlStr=str_replace('>','&gt;',$xmlStr);
    $xmlStr=str_replace('"','&quot;',$xmlStr);
    $xmlStr=str_replace("'",'&#39;',$xmlStr);
    $xmlStr=str_replace("&",'&amp;',$xmlStr);
    return $xmlStr;
    }// Opens a connection to a MySQL server
    $connection=mysql_connect ('localhost', $username, $password);
    if (!$connection) {
      die('Not connected : ' . mysql_error());
    }// Set the active MySQL database
    $db_selected = mysql_select_db($database, $connection);
    if (!$db_selected) {
      die ('Can\'t use db : ' . mysql_error());
    }// Select all the rows in the ers table
    $query = "SELECT * FROM ers WHERE 1";
    $result = mysql_query($query);
    if (!$result) {
      die('Invalid query: ' . mysql_error());
    }header("Content-type: text/xml");// Start XML file, echo parent node
    echo '<ers>';// Iterate through the rows, printing XML nodes for each
    while ($row = @mysql_fetch_assoc($result)){
      // ADD TO XML DOCUMENT NODE
      echo '<er ';
      echo 'name="' . parseToXML($row['name']) . '" ';
      echo 'address="' . parseToXML($row['address']) . '" ';
      echo 'lat="' . $row['lat'] . '" ';
      echo 'lng="' . $row['lng'] . '" ';
      echo 'type="' . $row['type'] . '" ';
      echo '/>';
    }// End XML file
    echo '</ers>';
    ?>
      

  3.   

    nobody