Question

J'appelle une page JSP en passant des paramètres qui délivre un JSON valide comme réponse, mais la fonction de rappel $.getJson ne reçoit pas mis le feu.   JSP page de sortie est

 { "data": [ [ [ 1258185480000,4.39], 
               [ 1258186020000,4.31],
               [ 1258184940000,4.39],
               [ 1258183560000,4.39]  ] ] }

Les points d'URL à la page JSP

Mon jquery code est

<script id="source" language="javascript" type="text/javascript">
$(function () {   
  alert("before");
  $.getJson(URL,function(json){
            alert("hello");
          var plot = $.plot($("#placeholder"), json.data, options);
    });

 alert("after");
});
Était-ce utile?

La solution

La fonction est $ .getJSON et non $.getJson

Autres conseils

$.getJSON( URL, function(data) {
  alert("hello");
});

est rien d'autre qu'un raccourci pour appel ajax

$.ajax({
  dataType: "json",
  url: URL,
  data: data,
  success: function(data) {
    alert("hello");
  }
});

  

Important: de jQuery 1.4, si le fichier JSON contient une erreur de syntaxe,   la demande généralement échouer en mode silencieux ... Par exemple, toutes les chaînes   représentés dans JSON, si elles sont des propriétés ou des valeurs, doit être   enfermé dans des guillemets doubles

source: jquery.getjson docs

Je viens de passer deux heures à ce sujet. J'ai trouvé un autre poste qui traite de la différence entre $.getJSON et $.get et comment il est vraiment pas. Alors je troqué mon getJSON() pour get() et ça a marché.

(tiens aussi à mentionner que j'avais aussi tout vérifié autre travaillait en vous connectant à l'action des rails et en vous connectant ce que je pouvais du javascript en dehors la fonction de rappel.)

$. GetJSON n'utilisera un rappel avec un bon objet JSON à traiter.

Assurez-vous également avec Firebug que vous obtenez JSON valide à partir du serveur.

Pour jQuery 3.4.1:

$.getJSON("test.json", function (json) {
    console.log('Got JSON');
    console.log(json);

})
.fail(function (jqxhr, textStatus, error) {
    var err = textStatus + ", " + error;
    alert("There has been an error. If the problem persists contact the customer service");
})
.always(function () {
    console.log("complete");
});

Si vous pensez que le JSON est ok et que vous utilisez Chrome essayer « Vider le cache et dur Recharger ».

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top