JSON-Antwort mit der cfscript-Funktion

8

Ich habe diesen Code als eine Funktion, die gut funktioniert:

%Vor%

Ich versuche, es in eine vollständige cfscript-Funktion wie folgt zu konvertieren:

%Vor%

Der erste Weg gibt JSON in Ordnung zurück und ich kann ihn mit jQuery verarbeiten. Die zweite wirft und Fehler "Der von der loadService-Funktion zurückgegebene Wert ist nicht vom Typ JSON."

Ich habe es mit und ohne SerializeJSON versucht und beide Wege werfen diesen Fehler. Ich habe es auch versucht, ohne JSON in der Funktionssyntax anzugeben. Das wirft keinen Fehler, aber wicked wddxpacket info um es herum. So sieht es aus, wenn ich JSON nicht spezifiziere:

%Vor%

Ich stecke darauf fest. Jede Hilfe wäre großartig. Danke!

    
Sequenzia 05.01.2012, 04:55
quelle

3 Antworten

10

Die korrekte CFScript-Syntax in CF9 lautet:

%Vor%

Technisch gesehen ist "JSON" kein gültiger Rückkehrtyp aus einer Funktion ( hier für alle Rückkehrtypen ), aber bei Ihnen schreibe:

%Vor%

... das sagst du im Grunde.

Beachten Sie, dass Sie in Ihrem Tag-basierten Funktionsaufruf keinen returnType angeben ... also, was ist das standardmäßig? (Hinweis: beliebig)

Es ist einfach, returnType und returnFormat zu mischen. Eine einfache Anpassung oben und Sie sollten gut gehen.

Vollständiger Code

%Vor%     
Shawn Holmes 05.01.2012, 06:39
quelle
2

Ich habe auch bemerkt, dass du

hast %Vor%

in Ihrer Funktion. Diese Zeile hat keine Auswirkung auf die Rückgabe Ihrer Funktion. Es kann also einfach weggelassen werden, da sich Ihr objResponse-Wert bereits in einer JSON-Zeichenfolge befindet. Aber wenn der Wert von objResponse etwas wie

ist %Vor%

Dann hättest du etwas wie

machen können %Vor%

, die die komplexen Daten, die Sie hatten, in eine JSON-Zeichenfolge umgewandelt hätten.

Hier ist die komplette Funktion

%Vor%     
Peruz Carlsen 05.01.2012 14:01
quelle
1

Eine andere Möglichkeit, das 'returnFormat' anzugeben, wäre die Verwendung von Anmerkungen:

%Vor%     
jsjs94 27.03.2015 20:50
quelle

Tags und Links