0

我正在制作一个谷歌地图,它将从数据库中提取信息并输出 xml 以解释为地图上的标记。我想将点击的元素 id 传递给 PHP 以过滤数据库结果。执行该函数时,我收到一条错误消息,指出“无法读取未定义的属性'_ e3 '”。当我摆脱变量并直接在代码中输入类型时,一切正常。

相关的 jQuery

$(document).ready(function() {
        $('.map_item').toggle(
            function() {
                var itemid = this.id;
                $.ajax({
                    type: 'POST',
                    //php script takes info from database, outputs xml
                    url:'SQL.php',
                    //pass var to the php to select only items matching this id
                    data: 'variable1=' + itemid,
                    success: function(data) {

来自文件 SQL.php 的相关 PHP

$ajax_var = $_POST['variable1'];
$query = 'SELECT * FROM location WHERE Type="' . $ajax_var . '"';
$result = mysql_query($query); //sqlsrv_query
header('Content-type: text/xml'); 

// Iterate through the rows, adding XML nodes for each

while ($row = @mysql_fetch_assoc($result)){   
// ADD TO XML DOCUMENT NODE  
$node = $dom->createElement('marker');  
$newnode = $parnode->appendChild($node);   
$newnode->setAttribute("dirtType",$row['dirtType']);
$newnode->setAttribute("lat", $row['lat']);  
$newnode->setAttribute("lng", $row['lng']);  
 } 

 echo $dom->saveXML();
4

1 回答 1

0

我会说数据应该以不同的方式发送,如下所示:

data: {
   "variable1": itemId
}
于 2012-10-17T21:18:36.653 回答