2010-12-04 18 views
0

Salut, j'ai une forme sélectionner lié à un cfc - je peux voir le JSON retourné, mais sa ne pas afficher sur mon formulaire - j'ai le code ci-dessous l'espoir que quelqu'un peut aider:JSON processus de retour de coldfusion cfc

FORMULAIRE

<script type="text/javascript"> 
// <!-- 
$(document).ready(function() 
{ 
$("#CountriesList").change(function() 
{ 
if($(this).val() != '') 
{ 
$.ajax({ 
type: "POST", 
url: "mycfc.cfc?method=GetCities&returnformat=json", 
data: ({ 
CountryID: $(this).val() 
}), 
dataType: "xml", 
success: function(xml) 
{ 
$('#Cities option').remove(); 
$(xml).find('record').each(function() 
{ 
$("#Cities").append('<option value="' + $(this).find('tape_width').text() + '">' + $(this).find('tape_width').text() + '<\/option>'); 
}); 
} 
}); 
} 
}); 

}) 

// --> 
</script> 

<cfsilent> 
<cfinvoke component="mycfc" method="CountriesList" returnvariable="CountriesList"/> 
</cfsilent> 
<cfoutput> 
<label for="CountriesList">Select Country:</label> 
<select name="CountriesList" id="CountriesList"> 
<option value="" selected="selected">...</option> 
<cfloop query="CountriesList"><option value="#BAND#">#CountriesList.BAND#</option></cfloop> 
</select> 
<label for="Cities">Select City:</label> 
<select name="cities" id="Cities"><option value="">...</option></select> 
</cfoutput> 

Le CFC réel est comme ci-dessous:

<cfcomponent> 
<cffunction access="remote" name="CountriesList" output="false" returntype="query"> 
<cfquery name="SelectAllCountries" datasource="test"> 
SELECT DISTINCT BAND 
FROM FABRICS 
WHERE TYPE='venetian' 
AND isACTIVE='true' 
ORDER BY BAND 
</cfquery> 
<cfreturn SelectAllCountries> 
</cffunction> 
<cffunction access="remote" name="GetCities" output="false" returntype="query"> 
<cfargument name="CountryID" required="yes" type="any" default="" /> 
<cfquery name="Cities" datasource="test"> 
SELECT TAPE_WIDTH 
FROM tapes 
WHERE SLAT_WIDTH='#arguments.CountryID#' 
</cfquery> 
<cfreturn Cities> 
</cffunction> 
</cfcomponent> 

quelqu'un pourrait-il indiquer où me trompe s'il vous plaît?

Merci

+0

Pouvez-vous modifier votre question, s'il vous plaît? Je ne suis pas sûr si vous n'avez pas inclus le formulaire ou s'il a été mangé par le fait que vous ne l'avez pas formaté correctement comme du code. – charliegriefer

+0

ressemble à ça, je vais essayer de modifier. – migarich

Répondre

1

Je fixe un problème similaire je jhaving en ajoutant queryformat comme suit:

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

avant ce que je voyais le JSON retourné (par Firebug), mais il n'a pas été dipslaying ..

J'espère que ça aide

+0

merci pour cela, je vais essayer, j'ai abandonné jusqu'à maintenant! – migarich

+0

Comment êtes-vous arrivé - une chance? – Simon

+0

Salut Simon, Pas encore de verrou ... J'ai le code suivant: Alors j'appelle le cfc à partir d'une page cfm – migarich

0

Si vous retournez JSON, pourquoi vous spécifiez un type de données XML? Essayer

datatype: 'json'