In jQuery gebe ich HTML in einem JSON-Ergebnis zurück, was muss ich tun?

7

In meiner Ajax Anfrage (mit jQuery ) Ich gebe eine Antwort JSON zurück.

Also wird json.Html eine HTML-Zeichenfolge haben, die ich in ein div einfügen möchte.

Muss ich auf der Server-Seite den HTML-Code überhaupt umgehen?

In meiner MVC-Aktion gebe ich zurück:

%Vor%     
mrblah 17.03.2009, 04:06
quelle

6 Antworten

14

Eine alternative Lösung wäre, einfach den HTML-Code zurückzugeben und jQuerys load() :

zu verwenden %Vor%

Um es auf Ihre Art zu tun, müssten Sie nur doppelte Anführungszeichen und umgekehrte Schrägstriche vermeiden.

Die Spezifikation ist sehr gut lesbar und kurz.

    
cobbal 17.03.2009, 04:12
quelle
7

Sie müssen nur Schrägstriche zu Anführungszeichen und Schrägstrichen (ala \ "und \\) hinzufügen, wenn Sie Inhalt in eine JSON-Zeichenfolge eingeben. HTML-Zeichen bedeuten nichts in einer JSON-Zeichenfolge, also sind sie in Ordnung:)

Stellen Sie sicher, dass Ihre Zeichenfolge selbst korrekt formatiert ist (X), damit sie beim Einfügen in div nicht explodiert.

    
singpolyma 17.03.2009 04:10
quelle
6

Wenn Sie JSON mit HTML erstellen, müssen Sie escapen, dann ein doppeltes Anführungszeichen und auch das CLRF-Zeichen eingeben und es wird HTML in Ordnung zurückgegeben.

Ich habe mit einer pl / sql-Prozedur gearbeitet, die von einer AJAX-Anfrage aufgerufen wurde. Wenn Sie möchten, kann ich die Implementierung veröffentlichen.

Sie sollten Ihre Ausgabe unter Ссылка testen, um festzustellen, ob sie gültig ist.

Also

%Vor%

unterscheidet sich von

%Vor%

wegen des CLRF-Zeichens. Sie sollten das auf der Serverseite durch &nbsp ; oder <br/> .

Hoffe, das hilft, Alex

    
Alex Peta 15.11.2010 15:14
quelle
5

Ich werde meine Erfahrungen mit PHP veröffentlichen. Ich hoffe, es könnte helfen.

Normalerweise verwendet man die Funktion json_encode() , um die Daten zu codieren, z. B .:

%Vor%

Da json_encode() nur mit UTF-8-Strings funktioniert, schlage ich vor, jede Zeichenfolge in UTF-8 durch die Funktion utf8_encode() , d. h.

, zu codieren %Vor%

Wenn Sie spezielle Zeichen verwenden (wie è und à in italienischen Wörtern), empfehle ich, das zurückgegebene json UTF8-kodierte HTML zu dekodieren. Dies ist besonders nützlich, wenn Sie es in einer HTML-Seite verwenden müssen (z. B. als Ergebnis eines AJAX-Aufrufs). Verwenden Sie zum Dekodieren von JavaScript :

%Vor%

Dabei ist html der zurückgegebene codierte HTML-Code.

Grüße.

    
JeanValjean 14.08.2012 15:55
quelle
1

Wenn Sie die dataType Konfigurationsoption auf 'json' setzen, wird das Objekt an die complete event ist das JavaScript-Objekt. Im Wesentlichen wird jQuery die Arbeit des Konvertierens des Antwort-Inhalts (unter Annahme seines korrekt formatierten JSON) in ein Javascript-Objekt durchführen. Beispiel ...

%Vor%

Wenn Sie sich fragen, wie Sie richtig formatiertes JSON von .net generieren können, würde ich Sie ermutigen, Json zu erkunden .NET , weil es JSON sehr einfach macht.

    
Ken Browning 17.03.2009 06:08
quelle
1

Wenn Sie PHP verwenden, macht json_encode den Trick für Sie:

%Vor%

In jQuery deklarieren Sie entweder den Dateityp 'json' (siehe Antwort oben) oder dekodieren Sie mit jQuery.parseJSON

    
sieppl 07.05.2011 09:59
quelle

Tags und Links