2009-12-23 27 views
5

Come posso passare una stringa di grandi dimensioni contenente caratteri come '%' e '&' alla mia pagina php tramite un post di posta elettronica?ajax post caratteri speciali

In altre parole, come codificarli in javascript e decodificarli con php?

risposta

15

la encodeURIComponent() JavaScript funzione può essere usata per fuggire una di queste caratteri nelle chiavi o nei valori.

PHP lo riceverà e decodificherà automaticamente nell'array $_POST.

Il formato dei dati dovrebbe essere di query in formato stringa, in particolare:

Content-Type: application/x-www-form-urlencoded 

Ad esempio:

Name=Joe&Age=23&City=Altoona 

Se si utilizza encodeURIComponent() su ogni chiave e ogni valore, poi unirsi a loro con = e raggruppali per &, non avrai ulteriori problemi.

1

In realtà non è necessario codificare o decodificare qualcosa, se si utilizza il parametro POST nel metodo di invio di XMLHttpRequest. Solo GET ha bisogno di tale e codifica, poiché utilizza il campo URI. È necessario prestare attenzione quando si utilizzano questi dati nelle richieste SQL. Attenzione alle iniezioni.