Warum funktioniert dieses einfache Stück jQuery getJSON nicht in IE8?

Ich habe eine sehr standardmäßige AJAX-Anfrage:

$.getJSON('/products/findmatching/38647.json', {}, function(JsonData){
  var tableHtml = '';
  var x;

  for (x in JsonData.matchingProds) {
    var matchingProd = JsonData.matchingProds[x];
    var buyMessage;

    if ( x == 0 ) {
      buyMessage = 'Buy Cheapest';
    }
    else {
      buyMessage = 'Buy from this shop';
    }

    tableHtml = tableHtml + '<tr><td><img height="40" src="' + matchingProd.img_url + '" alt="' + matchingProd.name + '" /></td> \
      <td><a href="' + matchingProd._page_url + '">' + matchingProd.name + '</a></td> \
      <td><a href="' + matchingProd._merchant._url + '">' + matchingProd._merchant.title + '</td> \
      <td align="right">&pound;' + matchingProd.price + '</td> \
      <td><a href="' + matchingProd.referral_url + '">' + buyMessage + '</a></td></tr>';
  }

  $('#matchingproducts tbody').html(tableHtml);

  $('#loading').delay(1000).fadeOut();
});

Es funktioniert in allen Browsern außer IE. Ich mache nicht mehr viel im IE, da ich einen Mac habe, aber ich habe IE8 auf einer virtuellen XP-Maschine. Die Verwendung der integrierten Debug-Tools hat nicht wirklich geholfen (sie sind nicht sehr gut). Das einzige, was ich ergründen kann, ist, dass ich irgendwann den Fehler "Expected identifier" erhalte.

Kann dies in den zurückgegebenen JSON-Daten sein? Wie kann ich diese Daten aus IE-Sicht untersuchen?

Antworten auf die Frage(10)

Ihre Antwort auf die Frage