Cette fois, je vais vous montrer comment utiliser ajax pour obtenir des données json non définies. Quelles sont les précautions lors de l'utilisation d'ajax pour obtenir des données json non définies. Voici des cas pratiques, prenons un exemple. regarder.
Asynchrone JavaScript et XML (Ajax) sont des technologies clés à l'origine d'une nouvelle génération de sites Web (communément appelés sites Web 2.0). Ajax permet la récupération de données en arrière-plan sans interférer avec l'affichage et le comportement d'une application web. Obtenez des données à l'aide de la fonction XMLHttpRequest, une API qui permet à JavaScript côté client de se connecter à un serveur distant via HTTP. Ajax est également la force motrice derrière de nombreux mashups, qui intègrent du contenu provenant de plusieurs endroits dans une seule application Web.
Généralement, lors du traitement de la valeur json envoyée depuis le serveur, nous la traiterons de deux manières :
1 La première consiste à utiliser la fonction eval(). var dataObj=eval("("+data+")");
//Convertir en objet json (remarque : les données sont des données json)
2. Utilisez l'objet Function pour l'analyse du retour. var json =(new Function("","return "+data))();
Mais quand je travaillais sur un projet aujourd'hui (le projet utilisait struts2), j'utilisais ces deux méthodes pour lire json, et le résultat était toujours indéfini. J'ai vérifié beaucoup d'informations sur Internet, mais la plupart d'entre elles n'étaient pas claires. Plus tard, j'ai trouvé un article dans lequel l'auteur a également rencontré cette situation. Sa solution était de déclarer la valeur de retour dans l'action comme un attribut json <.>, et dans le sien Après que le projet ait échoué au test, la solution était de le transférer à nouveau. Ce qui suit est ma propre réflexion : bien que les données transmises depuis l'arrière-plan soient déclarées comme un attribut json, lorsqu'elles sont transmises à la réception, il s'agit en fait d'une chaîne, pas d'un objet json pour le moment. , nous devons traiter les données en arrière-plan, les convertir en objet json, puis obtenir la valeur en json. Mais parfois, la valeur transmise depuis l'arrière-plan n'est pas nécessairement une chaîne au format json standard. Bien que nous convertissions l'objet transmis depuis l'arrière-plan via l'une des deux méthodes précédentes, l'objet json converti à ce moment est en fait toujours une chaîne. chaîne json standard, et après l'avoir reconvertie, elle devient un objet json.
Ce qui suit fait partie du code :result = JSONObject.fromObject(map).toString();//后台代码,将map转成json对象 success : function(result) {//前台返回值代码 var obj = eval("("+result+")"); //var data1 =(new Function("","return "+obj))(); var data1=eval("("+obj+")"); alert(data1.name); }
Je crois que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des choses plus excitantes, veuillez prêter attention à php Chinois Autres articles connexes en ligne ! Lecture recommandée :
Explication détaillée des étapes pour recevoir des données josn à l'aide de josnp en ajax
Qu'est-ce qu'un élégant solution pour requête ajax front-end Réaliser
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!