UPDATE : Nachdem ich das Problem in Firebug betrachtet habe, habe ich sofort meinen Fehler gefunden. Und es war ein peinliches unübertroffenes Doppelzitat, das ich irgendwie gelöscht haben musste. Ich hatte das Entwicklerfenster von Chrome verwendet. Es tut mir sehr leid, dass Sie Ihre Ressourcen aufgebraucht haben. Aber, Lektion gelernt! ("Ich hoffe.)
Was ist der beste Weg für mich, HTML-Zeichen zu entkommen, die ich an meinen Server senden möchte? Ich benutze jQuery, .ajax () und jsonp.
Ich schreibe ein Bookmarklet, das Teile des HTML der aktuellen Seite an meinen Server sendet. Hier ist der Ajax-Aufruf:
%Vor%Ich muss JSONP verwenden und daher kann ich POST nicht verwenden, und deshalb kürze ich die HTML-Daten ab. Dinge funktionieren, wenn der HTML-Code "nett" ist, aber wenn er Zeichen enthält, die JavaScript nicht mag, dann habe ich Probleme. Ich habe mein Problem durch die Verwendung von escape () behoben, aber jetzt denke ich, dass ich Probleme mit Zeilenumbrüchen und Tabulatoren habe.
Die Chrome-Dev-Konsole gibt mir den gleichen Fehler:
%Vor%Ich nehme an, dass ein Charakter dazu führt, dass Dinge aus Javascript ausbrechen. Ich habe Folgendes versucht: escape (), encodeURI / Component (), serialize (), text (), aber nichts hat noch funktioniert. Zuerst habe ich vorher nicht gebraucht, aber dachte, ich sollte es versuchen, aber keinen Unterschied.
Zur Zeit bin ich mit etwas html fest, das einen Zeilenumbruch hat, dann ein Tab, dann ein paar Leerzeichen. Ich habe versucht, diese Zeichen mit replace () zu ersetzen:
%Vor%Ich fand diese Regex-Zeichenfolge an einer anderen Site, die verschiedene Kombinationen von Wagenrücklauf und Zeilenvorschub ersetzen soll.
Ich hoffe, ich habe mich klar genug erklärt. Es ist meine erste Frage bei Stack Overflow, also geh einfach zu mir. :)
Sie müssen nicht entkommen oder kodieren. jQuery kümmert sich um die korrekte URL-Codierung der Daten:
%Vor%