2012-04-08 12 views
1

Ich habe eine Google Map auf der Webseite mit Markierungen auf, die Click-Listener an sie angehängt hat.Nicht definiert auf Live-Server, aber funktioniert auf localhost

Problem: Auf localhost, wenn ich auf einer Markierung auf der Karte klicken, funktioniert alles wie vorgesehen. Nach dem Hochladen auf den Server und dem Versuch, die Live-Version Version, klicken Sie auf die Markierung verursacht jedoch einen Fehler Uncaught TypeError: Cannot read property 'listing_id' of undefined.

Beide console.log zeigt, dass json und i definiert ...

console.log Ausgang

[ Object , Object , Object , Object , Object , Object , Object , Object , Object , Object , Object , Object , Object , Object , Object , Object , Object , Object ]

i: 48

Uncaught TypeError: Cannot read property 'listing_id' of undefined

Warum ist das passiert?

JS-Code

$.getJSON(......., function(json) { 

for(var i = 0; i < json.length; i++) { 
    (function(i) { 
     google.maps.event.addListener(markers[json[i].listing_id], 'click', function() { 
      console.log('json: ' + json); 
      console.log('i: ' + i); 
      console.log('json[i].listing_id :' + json[i].listing_id); 

      // Mark currently opened marker 
      markers[json[i].listing_id].setIcon(base_url + 'images/template/markers/listing_black.png'); 

      //... 
     }); 
    })(i); 
} 

}); 
+0

Wenn Sie ein bestimmtes Objekt console.log, ist es eine listing_id Eigenschaft haben? –

+0

Ich habe die ursprüngliche Postleitzahl mit einem dritten 'console.log' aktualisiert. Das 3. 'console.log' erzeugt den gleichen undefinierten Fehler auf dem Live-Server, gibt den korrekten Wert auf dem localhost aus. Rätselhaft ... – Nyxynyx

+0

Wie sieht das Objekt aus, hat es überhaupt irgendwelche Eigenschaften, oder ist es nur die listing_id, die fehlt? –

Antwort

3

Es sieht aus wie Sie die Daten nicht an die Callback-Funktion übergeben kann.

Versuchen Sie Ihre erste Linie auf diese Stelle zu ändern:

$.getJSON(......., function(json) { 
+0

Entschuldigung, ich habe json nicht in den Code im Beitrag eingefügt .. json ist da drin im eigentlichen Code – Nyxynyx

Verwandte Themen