CFC JSON Output – Problème d’affichage des résultats de la requête

C’est une longue question – avec beaucoup de détails – donc excusez-moi d’abord pour cela – mais je ne sais pas trop comment poser cette question plus rapidement.

J’ai deux CFC, les deux sont conçus pour renvoyer JSON à partir d’une requête, puis j’utilise jquery pour afficher les résultats.

Le premier CFC ressemble à ceci:

      

Ceci est appelé et le résultat affiché en utilisant ce qui suit:

 $.getJSON("getRequests.cfc?method=getRequests&returnformat=json&queryFormat=column",{"status":1}, function(res,code) { if(res.ROWCOUNT > 0){ for(var i=0; i<res.ROWCOUNT; i++) { s = "

" + res.DATA.TITLE[i] + "

Panel
RFQ ID

" + "

" + /*res.DATA.PANEL[i] +*/"
" + res.DATA.JOB_ID[i] + "

" + "

Responses" + /*res.DATA.RESPONSES +*/ "
Due " + res.DATA.REQUIRED_DATE[i] + "

" + "
"; }; } else { var s = "Sorry, nothing matched your search."; } $("#results").html(s); },"json"); })

qui tout fonctionne bien.

Le deuxième CFC ressemble à ceci:

         

Ce CFC est appelé par et les données affichées sont les suivantes:

 $(".alphaindex").click(function(e) { var item = $(this).attr("title"); if(item == "")return $.getJSON("getContacts.cfc?method=getContacts&returnformat=json",{"alpha":item}, function(res,code){ if(res.ROWCOUNT > 0){ for(var i=0; i<res.ROWCOUNT; i++) { s += "

" + res.DATA.CONTACTFIRSTNAME[i] + res.DATA.CONTACTLASTNAME[i] + "

" + "

" + res.DATA.CONTACTEMAIL[i] + "

" + "

" + res.DATA.CONTACTMOBILE[i] + "


" }; s += ""; } else { var s = "Sorry, nothing matched your search."; } $("#results").html(s); },"json"); e.preventDefault(); })

Cela renvoie les en-têtes de données JSON, mais pas les données. Je ne peux pas dire quelle est la différence ni où je me trompe dans le deuxième exemple.

Tout conseil apprécié – excuses à nouveau pour la longueur de la question.

Simon

Ceci est un long shot, mais le nom de votre fonction est “getContacts” et, vraisemblablement, en fonction de votre extrait de code, votre requête s’appelle “getContacts”.

Je me demande s’il y a une collision bizarre qui se passe là-bas. Essayez de renommer votre requête (et de changer également la ligne “return”) en quelque chose de tout à fait unique (assurez-vous de l’étendre aussi!)

edit: blah – votre premier CFC le fait aussi, et cela fonctionne. Eh bien, essayez quand même, qui sait …

Je l’ai eu – comme prévu (et presque comme toujours) quelque chose de simple qui m’avait manqué. J’avais besoin d’append & queryformat = column dans le deuxième exemple.

 $.getJSON("getContacts.cfc?method=getContacts&returnformat=json&queryFormat=column" 

Merci à Edward pour l’aide!

Simon