2012-03-08 3 views
0

У меня есть скрипт, который вызывает сервер с помощью $ .ajax() с JQuery и он хорошо работает на Chrome или FF, но не в IE 8.JQuery + IE8 Ajax Json Ошибка синтаксического анализа

Это мой призыв:

$.ajax({ 
    url: 'location.php', 
    dataType: 'json', 
    success: function(data){ 
     alert('Ajax made!'); 
     $.each(data, function(key, val) { 

     var lat = null; 
     var lng = null; 
     var title = null; 
     var id = null; 

     $.each(val, function(index, vol) { 

      if(index == 'id') 
       id = vol; 
      else if(index == 'lng') 
       lng = vol; 
      else if(index == 'lat') 
       lat = vol; 
      else if(index == 'nombre') 
       title = vol;  
     }); 

        // Create marker in the Google Map 
     createMaker(id,lat,lng,title); 
     });  
    }, 
    error: function(jqXHR, textStatus, errorThrown){ 
      // I get Error on IE 8 
    alert(jqXHR.responseText); 
    } 
}); 

Этот код на стороне сервера:

header('Content-type: application/json'); 

$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Existe un problema al conectar a la base de datos. Disculpe las molestias'); 
mysql_select_db($dbname); 
    mysql_query('SET CHARACTER SET utf8'); 
    $result = mysql_query("select id,lat,lng,nombre from location"); 


$rows = array(); 
while($r = mysql_fetch_assoc($result)) { 
    $rows[] = $r; 
} 


print json_encode($rows); 

// close the connection 
mysql_close($conn); 

результат JSON является чем-то вроде этого:

< ---- > [{ "ID": "3", "ш": "19,700800", "LNG": "- 101,186972", "Nombre": "Виктор Мануэль Мендоза Армас"}]!

Не знаю, почему мой php добавляет <! ---- > в верхней части ответа.

Возможно, это проблема?

+1

Любые файлы включают файлы, которые могут выводить эти комментарии HTML? – AndrewR

+0

Да, проблема в том, что я включил один PHP, и у него есть комментарий html. Спасибо –

ответ

0

У меня была аналогичная проблема с движком Google, но с python. In Google app engine dev server, simplejson.dumps is sending data that contains header info that reads True,0,1

Похоже, что если у вас есть случайные инструкции печати, это вызвано. Может быть, с PHP.

+0

На этом скрипте PHP у меня есть только одна версия json_encode ($ rows). Не знаю, почему PHP отправляет это в начале ответа. –