2012-03-08 13 views
0

私はjQueryを使って$アヤックス()を介してサーバを呼び出すスクリプトを持っており、それは、クロムやFFでうまく動作しますが、いないIEの8jQueryの+ 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"、 "LAT": "19.700800"、 "LNG": " - 101.186972"、 "ノンブル": "ビクターマヌエル・メンドーサアルマス"}]!

私のPHPがなぜ<!---- >を返すのかわかりません。

多分これは問題ですか?

+1

これらのHTMLコメントを出力する可能性のあるインクルードファイルはありますか? – AndrewR

+0

はい、問題は、私は1つの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スクリプトでは、私は1つだけjson_encode($行)を何も印刷していません。なぜPHPが応答の最初にそれを送信しているのかわかりません。 –