Probleme mit "+" bei übergabe (PHP+JS)

iAZ

Mitglied
Hi ich hab so n problem.
ich hab einen kleinen online Skript-editor (codepress) .
Wenn ich das Skript speichern will übergibt es JS an den Server

code.getCode (also das zu übergebende Script) sei mal:
Code:
"function edit_file(id)
{
  link=document.getElementByID(id+"link");
  file_name=link.innerHTML;
  alert(file_name);
}"

Code:
<script type="text/javascript">
function aktionSenden(aktion, id) {
	var http = null;
	var code=code.getCode;

	if (window.XMLHttpRequest) {
		   http = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		   http = new ActiveXObject("Microsoft.XMLHTTP");
	}

	if (http != null) {
	   http.open("POST", "save_file.php", true);
	   http.onreadystatechange = ausgeben;
	   http.setRequestHeader(
	  	  "Content-Type",
  	          "application/x-www-form-urlencoded");
          http.send("code="+code);
	}

	function ausgeben() {
	   if (http.readyState == 4) {
	      document.getElementById("Ausgabe").innerHTML =
	         http.responseText;
		 code.edit(aktion,'php')
	   }
	}
}
</script>
jetzt wird das Script an die save_file.php gesendet.
dort kommt es so an:
Code:
function edit_file(id)
{
link=document.getElementByID(id \"link\");
file_name=link.innerHTML;
alert(file_name);
}
für die die es nicht sofort sehen: da fehlt das Plus("+") in der 3. Zeile vor \"link\".
genau das ist das Problem. ich vermute das Plus wird als verbindungszeichen interpretiert. wie kann ich in JavaScript das Plus so umwandeln, dass es nicht verloren geht?
AZ
 
Zuletzt bearbeitet:
Hi,

kodiere den zu senden String mit encodeURIComponent.
Code:
var code=encodeURIComponent(code.getCode());

Ciao
Quaese
 
  • Gefällt mir
Reaktionen: iAZ
Danke das war genau das was ich gebraucht habe!
Anmerkung: mitvar code geht das nicht weil die variable besetzt ist .... ich hab z.B. code2safe als variable genommen... :p
 

Neue Beiträge

Zurück