Maison >interface Web >js tutoriel >Explication détaillée sur l'utilisation de la fonction jQuery.getJSON()

Explication détaillée sur l'utilisation de la fonction jQuery.getJSON()

巴扎黑
巴扎黑original
2017-07-03 09:30:571233parcourir

La fonction jQuery.getJSON() est utilisée pour obtenir des données distantes codées en JSON via une requête AJAX sous la forme de HTTP GET.

JSON est un format de données. JS prend en charge nativement le format JSON. jQuery tentera d'abord de convertir les données JSON obtenues du serveur via jQuery.getJSON() en l'objet JS correspondant.

Si l'URL demandée inclut "callback=?" ou des éléments similaires, jQuery la traitera automatiquement comme JSONP et exécutera la fonction de rappel correspondante pour obtenir les données JSON.

Remarque importante : les données JSON renvoyées par le serveur doivent être conformes à une syntaxe JSON stricte. Par exemple : tous les noms d'attributs doivent être mis entre guillemets doubles, et toutes les valeurs de chaîne doivent également. être placé entre guillemets doubles (au lieu de guillemets simples).

Veuillez noter que cette fonction charge les données de manière asynchrone.

Cette fonction appartient à l'objet global jQuery.

Syntaxe

jQuery 1.0 ajoute cette fonction statique.

jQuery.getJSON( url [, data ] [, success ] )

Paramètres

Description du paramètre

url Le type de chaîne spécifie l'URL cible du demande. Le type

data Facultatif/String/Classe d'objet envoie les données transmises par la requête.

succès Fonction facultative/de rappel exécutée lorsque la demande de type de fonction réussit. Il comporte 3 paramètres : l'un correspond aux données renvoyées par la requête, l'autre est le texte d'état de la requête (tel que "success", "notmodified") et le troisième est l'objet jqXHR actuel (jQuery 1.4 et versions précédentes, ce paramètre est l'objet XMLHttpRequest natif).

La fonction de rappel spécifiée par le paramètre success ne sera exécutée que lorsque la demande aboutit. Si la demande échoue (comme une page introuvable, une erreur de serveur, etc.), aucun traitement ne sera effectué.

Valeur de retour

jQuery.getJSON()La valeur de retour de la fonction est de type jqXHR, renvoyant l'objet jqXHR qui a envoyé la requête (jQuery 1.4 et les versions précédentes renvoient l'objet natif XMLHttpRequest).

Exemple et description

jQuery.getJSON() est l'abréviation suivante de la fonction jQuery.ajax() :

jQuery.getJSON(url, data, success);
// 等价于
$.ajax({
 url: url,
 type: "GET",
 data: data,
 success: success,
 dataType: "json"
});

Veuillez vous référer à l'exemple de code HTML suivant :

<div id="content1">CodePlayer</div>
<div id="content2">专注于编程开发技术分享</div>
<div id="content3">http://www.365mini.com</div>

Ce qui suit est un exemple de code jQuery lié à la fonction jQuery.getJSON() pour démontrer l'utilisation spécifique de la fonction jQuery.getJSON() :

//获取index.php?type=json的JSON数据,但不作任何处理
$.getJSON( "index.php?type=json" );
// 等价于 index.php?id=5&orderId=5&money=100
$.getJSON( "index.php?id=5", "orderId=5&money=100" );
// 等价于 http://localhost/index.php?id=5&orderId=5&money=100
$.getJSON( "http://localhost/index.php?id=5", {orderId: 5, money: 100} );
/* ***** 一般不会使用上述不对获取的JSON数据作任何处理的用法***** */
// 获取index.php?type=json的JSON数据,获取成功时弹出对话框
$.getJSON( "index.php?type=json", function(data, textStatus, jqXHR){
    // data 是该请求返回的数据(可能经过处理)
    // textStatus 可能是"success"、 "notmodified"等
    // jqXHR 是经过jQuery封装的XMLHttpRequest对象(保留其本身的所有属性和方法)
    // 如果服务器返回的JSON格式的数据是 {"id": 5, "name": "CodePlayer"}
    // JSON格式的数据的属性名称必须加双引号,字符串值必须加双引号。
    // jQuery已经将其转换成对应的JS对象
    alert( data.id ); // 5
    alert( data.name ); // CodePlayer
} );
// 获取"/action.php?m=list&page=2&size=10"的JSON数据,获取成功时弹出对话框
$.getJSON( "/action.php?m=list", { page: 2, size: 10  }, function(data, textStatus, jqXHR){
    // 如果服务器返回的JSON格式的数据是 [ {"id":11, "title":"文章11"}, {"id":12, "title":"文章12"}, {"id":13, "title":"文章13"} ]
    // jQuery将获取的JSON格式数据转换为JS数组
    for(var i in data){
        var obj = data[i];
        alert( obj.title );
    }
} );

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn