Wie kann ich das Zeichen "& amp;" (kaufmännisches Und-Zeichen) über AJAX senden?
Will ich senden ein paar Variablen und einen string mit POST-Methode von JavaScript. Ich bekomme den string aus der Datenbank und senden Sie es dann an eine PHP-Seite. Ich bin mit XMLHttpRequest-Objekt.
Das problem ist, dass der string enthält die Zeichen "&" einige Male, und $_POST-array in PHP sieht es wie mehrere Schlüssel.
Ich habe versucht, anstelle des "&" durch "\&" ersetzen() Funktion, aber scheint nicht, etwas zu tun.
Kann mir jemand helfen?
Den javascript-code und der string sieht wie folgt aus:
var wysiwyg = dijit.byId("wysiwyg").get("value");
var wysiwyg_clean = wysiwyg.replace('&','\&');
var poststr = "act=save";
poststr+="&titlu="+frm.value.titlu;
poststr+="§iune="+frm.value.sectiune;
poststr+="&wysiwyg="+wysiwyg_clean;
poststr+="&id_text="+frm.value.id_text;
xmlhttp.open("POST","lista_ajax.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send(poststr);
String ist:
<span class="style2">"Busola"</span>
InformationsquelleAutor der Frage candino | 2012-07-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie alsterrunde().
Wird er Flucht alle Zeichen, die nicht auftreten, wörtlich in URLs:
In diesem Beispiel, das kaufmännische und-Zeichen
&
wird ersetzt durch die escape-Sequenz%26
gültige URLs.InformationsquelleAutor der Antwort Frédéric Hamidi
Möchten Sie vielleicht die Verwendung alsterrunde().
InformationsquelleAutor der Antwort Wolfram
Müssen Sie die url-escape kaufmännisches und-Zeichen. Verwendung:
Als Wolfram weist darauf hin, das ist schön verarbeitet (zusammen mit allen anderen Sonderzeichen) durch alsterrunde.
InformationsquelleAutor der Antwort Ned Batchelder
Ramil Amr Antwort funktioniert nur für die & Charakter. Wenn Sie einige andere Sonderzeichen verwenden, sollten Sie das PHP -
htmlspecialchars()
und JS istencodeURIComponent()
.Können Sie schreiben:
- Und auf der server-Seite:
Dadurch wird sichergestellt, dass AJAX übergeben Sie die Daten als erwartet, und dass PHP (in Fall your ' E insreting die Daten in einer Datenbank) stellen Sie sicher, dass die Daten wie erwartet funktioniert.
InformationsquelleAutor der Antwort Nadav S.
Der bevorzugte Weg ist die Verwendung einer JavaScript-Bibliothek wie jQuery und stellen Sie Ihre Daten als ein Objekt, dann lassen Sie jQuery tun, die Codierung, wie diese:
Wenn Sie nicht verwenden können jQuery (das ist so ziemlich der standard in diesen Tagen), Nutzung alsterrunde.
InformationsquelleAutor der Antwort Christopher Tokar
Könnte man die Kodierung des string mittels Base64-Kodierung der JavaScript-Seite und dann die Decodierung auf der server-Seite mit PHP (?).
JavaScript (Doku)
PHP (Doku):
InformationsquelleAutor der Antwort Sirko
Diese schneidet Sonderzeichen.
InformationsquelleAutor der Antwort user10164982
Können Sie übergeben Sie Ihre Argumente mit Hilfe dieser alsterrunde-Funktion, so dass Sie nicht haben, um sorgen über die übergabe von Sonderzeichen.
ODER
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent
InformationsquelleAutor der Antwort nikhil