2010-08-09 6 views
1

J'ai une boîte de dépôt qui est remplie par les informations d'une base de données. Certains des articles ont des esperluettes en eux. Lorsque la boîte de dépôt est modifiée, il y a un ajax fait, et cela inclut l'envoi de l'information de la boîte de dépôt dans un GET. Une perluète dans le nom de l'élément de la boîte de dépôt endommage l'URL pour le GET.Envoi d'esperluette dans GET

Par exemple, voici une URL d'exemple généré par la ajax:

http://www.website.com/getReports.cfm?date=05/07/2010&room=Visitors Office&system=Windows & Screens 

L'élément « Windows & écrans » bousille get, si ce que la page de réception obtient est juste « Windows » pour le system variable.

Quelle serait la meilleure façon de contourner ce problème sans changer la base de données, dans ColdFusion ou Javascript?

+0

duplication possible de [Ampersand dans GET, PHP] (http://stackoverflow.com/questions/2748042/ampersand-in-get-php) –

+0

oh snap! en effet, ça l'est. Pardon! Je pense que je pourrais avoir défilé devant celui-là, découragé par le "PHP" dans le titre. – Jimmy

Répondre

4

Votre code côté client doit générer l'URL à l'aide de la routine Javascript encodeURIComponent(). Pour l'utiliser, le code doit coder les noms de paramètres et les valeurs avant en les collant avec le "?" et les caractères « & » dans l'URL.