2010-01-19 7 views
0

je sais ceci:

$.getJSON(
    "test.js", 
    function(json){ 
    alert("JSON Data: " + json.users[3].name); 
    } 
); 

mais je vois le code dans un site:

$.getJSON(l, { 
           tag: "userName", 
           userName: 'sss' 
          } 

ce qui est '1' signifie, dans ce lieu.

grâce

Répondre

5

Si vous copiez/collez, il s'agit en fait d'un "L" et non d'un seul. "l" est probablement une variable contenant une URL/un nom de fichier.

+1

Belle prise. Cette confusion semble être à propos de mauvais formatage. Je ne vois rien de mal avec le code, vraiment. - * (C'est pourquoi nous n'utilisons pas de lettres simples comme noms de variables Programmeurs! = Mathématiciens!: D) * – Atli

0

Cela pourrait effectivement être une variable:

$(function(){ 
    var l = "getJSON.php"; 
    $.getJSON(l, { 'data':'foo' }, function(data) { 
    alert(data); 
    }); 
}); 
+0

Mais si l'utilisateur se trouve sur une page HTML, pourquoi est-il devient la même page que JSON? – Matchu

0

... tout à fait honnêtement, il semble que le mauvais code. Selon le jQuery API browser, argument un devrait être une URL, pas un nombre. Est-ce que l'exemple de code fonctionne?

EDIT: Vérifié; ce ne est pas. Cet exemple de code ne fait rien.

+0

Notez que l'OP ne publie pas réellement la clôture ')' de l'appel de fonction, donc pour autant que nous le sachions, il peut y avoir un rappel que l'OP a omis. * (J'en doute, mais puisqu'il laisse des choses ...) * – Atli

0

Le premier argument est un l (comme dans la lettre), pas un 1 (comme dans 1 police que vous devriez probablement éviter), et est une URL.

Le deuxième argument est un objet contenant des données à envoyer avec la requête.

jQuery.ajax() par défaut à une demande GET, de sorte que les données seront paramétrés et ajoutés à l'URL comme tag=userName&userName=sss

Plus d'infos ici: http://api.jquery.com/jQuery.ajax/