Ошибка при использовании ajax load google map api

#php #jquery #google-maps

#php #jquery #google-карты

Вопрос:

У меня есть файл index.php использование jquery:

 <div id="nav"><a href="#"><input type="hidden" value="36.753671,-119.768336" />test</a></div>
<script type="text/javascript">
$(document).ready(function(){
    $('#nav a').click(function() {
        var id = $(this).find('input:hidden').val();
        var dataString = 'id=' id;
        $.ajax({
           type: 'POST',
           url: 'map.php',
           data: dataString,
           cache: false,
           success: function(html) {
                $('.map').html(html);
           } 
        });
    });
});
<div class="map"></div>
  

в map.php

 $id = $_POST['id'];
    <script src="http://maps.google.com/mapsfile=apiamp;amp;v=2amp;amp;sensor=true_or_falseamp;amp;key=ABQIAAAA" type="text/javascript"></script>
    <body onload="initialize()" onunload="GUnload()">
        <div id="map_canvas" style="width: 200; height: 200px"></div>
    </body>
    <script type="text/javascript">
    function initialize() {
        if (GBrowserIsCompatible()) {
            var map = new GMap2(document.getElementById("map_canvas"));
            map.setCenter(new GLatLng(<?php echo $id ?>), 16);
            map.setUIToDefault();
        }
    }
    </script>
  

Когда я ввожу идентификатор ввода = (‘36.753671,-119.768336’), ajax не приводит,
Могу ли я помочь себе? Я хочу, чтобы эти идеи

Ответ №1:

Я вижу, что скрипт загружается в map.php находится в PHP-коде, которого не должно быть. Два способа исправить. 1)

 $id = $_POST['id'];
?> //close php tag here
  
     <body onload="initialize()" onunload="GUnload()">
        <div id="map_canvas" style="width: 200; height: 200px"></div>
    </body>
    <script type="text/javascript">
    function initialize() {
        if (GBrowserIsCompatible()) {
            var map = new GMap2(document.getElementById("map_canvas"));
            map.setCenter(new GLatLng(<?php echo $id ?>), 16);
            map.setUIToDefault();
        }
    }
    </script>
  

2)

 $id = $_POST['id'];
   echo '<script src="http://maps.google.com/mapsfile=apiamp;amp;v=2amp;amp;sensor=true_or_falseamp;amp;key=ABQIAAAA" type="text/javascript"></script>
    <body onload="initialize()" onunload="GUnload()">
        <div id="map_canvas" style="width: 200; height: 200px"></div>
    </body>
    <script type="text/javascript">
    function initialize() {
        if (GBrowserIsCompatible()) {
            var map = new GMap2(document.getElementById("map_canvas"));
            map.setCenter(new GLatLng(<?php echo $id ?>), 16);
            map.setUIToDefault();
        }
    }
    </script>';
  

Комментарии:

1. И, пожалуйста, также вызовите map.php в браузере и убедитесь, что он не выдает никаких ошибок. Измените метод с $ _POST на $ _GET и посмотрите, есть ли у вас правильный ответ.