Je n'ai jamais compris ce qui se passait avant, mais maintenant je n'ai plus le choix, alors j'ai lu attentivement la documentation, et finalement le test a réussi. Notez
1, et d'autres requêtes sous le même domaine. le nom peut être le même
js :
Le code est le suivant :
var url="http://localhost:2589/a.ashx"; >$(function() {
$.getJSON(url,function(data){
alert (data.Name);
})
}); >
Le serveur renvoie
String
{"Name":"loogn","Age":23}
2, sous différents noms de domaine js :
code Comme suit :
var url="http://localhost:2589/a.ashx?callback=?";
$. getJSON(url,function(data ){
alert (data.Name);})
});
Le serveur renvoie une chaîne :
1706543070425920333_1324445763158({"Name":"loogn","Age":23})
La chaîne renvoyée est une
fonction appelée "jQuery1706543070425920333_1324445763 158", avec les paramètres est { "Nom": "connexion", "Âge": 23}. En fait, ce nom de fonction long est la fonction de callback=? dans le chemin de la requête. Je pense que cela devrait être comme ceci : La méthode $.getJSON génère une référence
à la méthode de rappel. nom de ? . La requête ci-dessus deviendra http://localhost:2589/a.ashx?callback=jQuery1706543070425920333_1324445763158&_=1324445763194 Le serveur doit la traiter lors du renvoi de json, par exemple :
Le code. est la suivante :
cb = context.Request["callback"];
context.Response.Write(cb + "(" + json + ")");
Le nom du paramètre callback peut également être remplacé par jsoncallback. Je pense que c'est par crainte de conflit que jsoncallback doit être détecté en premier, et le callback ne doit pas être détecté à nouveau (non testé !! )
? Il peut également s'agir d'un nom de fonction spécifique, afin que la
ne puisse pas être anonyme. Utiliser ? La génération n'est qu'une commodité fournie par jQuery pour nos opérations générales.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!