【发布时间】:2011-04-01 17:56:44
【问题描述】:
我有一个商店定位器,在这里使用 Google Maps、PHP/Mysql 和 jQuery 构建: http://tinyurl.com/4w8nwwp
FF、Safari、Chrome 和 Opera 中的一切都是花花公子。
IE7、8无法读取parse_location.php动态生成的XML
AJAX 代码:
function reloadMap(map, dataString) {
markersArray = [];
var infoWindow = new google.maps.InfoWindow({content: "loading...", maxWidth:100});
var storeListHtml = '<h2>Name <span style="margin-left:252px;">Address</span></h2><ul>';
$.ajax({
type: "GET",
url: "parse_location.php",
data: dataString,
success: function(text){
count = -1;
$(text).find("list").each(function()
{
count++;
if(count == 0)
{
var burnsvilleMN = new google.maps.LatLng($(this).attr("lat"),$(this).attr("lng"));
map.panTo(burnsvilleMN);
}
var store = [$(this).attr("name"), $(this).attr("address"), $(this).attr("lat"), $(this).attr("lng"), count];
var name = $(this).attr("name");
var address = $(this).attr("address");
var point = new google.maps.LatLng($(this).attr("lat"),$(this).attr("lng"));
var html = "<span class='info'><b>" + name + "</b> <br/>" + address + "</span>";
var image = new google.maps.MarkerImage('images/icon_dot2.png');
var shadow = new google.maps.MarkerImage('images/icon_dot_shadow.png');
var marker = new google.maps.Marker({
map: map,
position: point,
icon: image,
shadow:shadow
//shadow: icon.shadow
});
//markersArray.push(marker);
storeListHtml += "<li class='store'><a href='javascript:myclick("+count+")'><div class='store-name'>"+name+"</div><div class='store-add'> "+address+"</div></a></li>";
bindInfoWindow(marker, map, infoWindow, html);
});
storeListHtml += '</ul>';
$("#store-list").html(storeListHtml);
}
});
}
如您所见,这涉及调用 parse_location.php,获取此代码生成的 XML: // 取消注释以下行会导致 ff、safari 等不显示任何内容。 // header('Content-Type: text/xml; charset=UTF-8');
$responce = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
$responce .= "<location>\n";
$city = $_GET['city'];
$category = $_GET['category'];
[这里的SQL查询]
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result))
{
$responce .= "<list name=\"".$row["name"]."\"
address=\"".$row["street_address"]." ".$row["city"]." ".$row["state"].", ".$row["zip"]."\"
lat=\"".$row["lat"]."\"
lng=\"".$row["lng"]."\" />";
}
$responce .= "</location>";
$responce8 = utf8_encode($responce);
echo $responce8;
任何指针???
里士
【问题讨论】:
-
您应该在您的代码 sn-ps 前后添加一个空行,以确保它们的格式正确。除此之外:您是否尝试过直接通过 IE 的地址栏打开脚本的 URL?了解问题是关于内容还是 xhr 请求本身会很有帮助。
-
嘿 herenvardo,感谢您的提示,我一定会更好地格式化代码,这是我第一次在问题中发布代码。也就是说,我尝试直接运行 parse_location.php,我只是在该页面上输出用户代理。真的不知道该怎么做。
标签: php xml ajax google-maps internet-explorer-8