Voglio inviare alcune variabili e una stringa con metodo POST da JavaScript. Prendo la stringa dal database e poi la mando su una pagina PHP. Sto usando l'oggetto XMLHttpRequest. Il problema è che la stringa contiene il carattere "&" poche volte e l'array $ _POST in PHP lo vede come più chiavi. Ho provato a sostituire "&" con "\ &" con la funzione replace(), ma non sembra che faccia nulla. Qualcuno può aiutare?Come posso inviare il carattere "&" (e commerciale) via AJAX?
il codice JavaScript e la corda si presenta così:
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 è:
<span class="style2">"Busola"</span>
Sì, encodeURIComponent lo fa! Grazie! – candino
È sufficiente per evitare in modo sicuro i dati o è "sufficiente" per evitare il problema della e commerciale? – Sprottenwels
@Sprottenwels, è sufficiente codificare correttamente tutti i dati. Cosa intendi con "sicuro" in questo contesto? –