2013-04-05 1 views
0

Je suis en train de charger .json des données dans mon application web et il ne pourra jamais réussir.erreur lors du chargement des données json

La fonction d'erreur est toujours renvoyée.

Voici mon fichier .js:

$(document).ready(function() { 
var output = $('#stage'); 

$.ajax({ 
    url: 'http://www.haverhill-ps.org/ios/app/data/calendar-json.json', 
    dataType: 'json', 
    timeout: 5000, 
    success: function (data) { 
     $.each(data, function (i, item) { 
      var eventInfo = '<h1>' + item.month + '</h1>' + '<p>' + item.date + '<br>' + item.time + '</p>'; 

      output.append(eventInfo); 
     }); 
    }, 
    error: function() { 
     output.text('There was an error loading the data.'); 
    } 
}); 
}); 

Voici les données json:

{ 
    "month": "June", //November 
    "date": "10", //10 
    "time": "5PM", //5PM 
}, { 
    "month": "July", //November 
    "date": "4", //10 
    "time": "1PM", //5PM 
} 

Alors, dans mon html j'ai une configuration div:

<div id="stage">Run here...</div> 
+0

Bien que vous prenez soin de la gestion des erreurs. Maintenant, vous devriez recevoir le message d'erreur. Travaillez-vous sur www.haverhill-ps.org ou est-ce un site tiers? –

+0

Vous rencontrez probablement un problème inter-domaines, vous ne pouvez pas demander des données à partir d'un domaine différent sans une solution de contournement. – MMM

Répondre

1

les données renvoyées ne sont pas valides json.

il vous manque [ et ] autour du résultat et les commentaires ne sont pas valables dans json. le , à la fin du dernier élément de chaque objet est également invalide. vous pouvez valider votre json à e.g. http://jsonlint.com/

un JSON valide regarderait cette façon:

[{ 
    "month": "June", 
    "date": "10", 
    "time": "5PM" 
}, { 
    "month": "July", 
    "date": "4", 
    "time": "1PM" 
}] 
+0

Merci beaucoup. Je suis novice dans l'utilisation de json, donc j'apprécie beaucoup. C'est incroyable comment un simple problème peut causer de tels maux de tête. :) – jons

+0

@jons: pas de problème. La validation de votre sortie ou code devrait toujours être la première étape. pour js, vous pouvez utiliser _jslint_ ou _jshint_. et json comme je l'ai déjà dit avec, par exemple. http://jsonlint.com/. –

0

Peut être vous aimeriez voir quelle est l'erreur, faites-le de cette façon

error: function (xhr, ajaxOptions, thrownError) { 
     alert(xhr.status); 
     alert(thrownError); 
     } 
Questions connexes