Jak mogę wysłać znak „&” (ampersand) przez AJAX?
Chcę wysłać kilka zmiennych i ciąg znaków z metodą POST z JavaScript. Dostaję ciąg z bazy danych, a następnie wysyłam go na stronę PHP. Używam obiektu XMLHttpRequest. Problem polega na tym, że ciąg zawiera kilka razy znak „&”, a tablica $ _POST w PHP widzi go jako wiele kluczy. Próbowałem zastąpić „&” opcją „” za pomocą funkcji replace (), ale nic nie robi. Czy ktoś może pomóc?
Kod javascript i ciąg znaków wyglądają tak:
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);
Ciąg to:
<span class="style2">"Busola"</span>