2016-08-20 2 views
1

Ich habe einen Chat, der Ajax verwendet, um Nachrichten an den Server zu senden. Mein Problem ist, dass wenn der Benutzer versucht, ein Hashtag zu senden, alles nach dem Hashtag weggelassen wird. Ich sah eine ähnliche Frage, die besagt, dass Kodierung helfen würde. Ich habe versucht, es zu kodieren, aber es verursachte größere Probleme, als es zum php kam. Es fing an, das + -Zeichen als ein Leerzeichen zu zählen und machte die ersten zwei Zahlen, nachdem ein% -Zeichen verschwunden war. Gibt es eine Abhilfe in PHP, oder sollte ich etwas anderes als Codierung versuchen.Wie ein Hashtag in einer Ajax-Anfrage übergeben werden

hier ist das relevante Javascript mit der Kodierung.

ajax.open("GET", "/chatAdd.php?msg=" + encodeURIComponent(message.value) + "&user=" + encodeURIComponent(user) + "&id=" + encodeURIComponent(id)); 

Und das PHP ich verwendet, um es zu entschlüsseln.

$user = urldecode($_REQUEST["user"]); 
$userID = urldecode($_REQUEST["id"]); 
$msg = urldecode($_REQUEST["msg"]); 
+1

Mögliche Duplikat (http://stackoverflow.com/questions/1734250/Was-ist-das-Äquivalent-von-javascripts-encodeuricomponent-in-php) – Jacob

+1

Ich glaube nicht, dass Sie diese Aufrufe von 'urldecode' brauchen, es sollte automatisch decodiert werden. –

Antwort

Verwandte Themen