Autor Zpráva
David S
Profil *
Dobrý den,
ctěl jsem se zeptat, zda jste se někdo nesetkali s problémem, kdy poslete ajax POST požadavek na nějaký php skript a špatně se vypíší data, která vám php skript zpracuje. Konkrétně, když pošlu z formuláře libovolná data a nechám je zpracovat php skriptem, který tyto data obalí do html tagů, tak se mi nakonec vypíší tyto data, ale i s těmi tagy, jako by je prohlížeč ignoroval. php skrip je následovný:

<?php

$naz=$_POST['nazev'];
$url=$_POST['odkaz'];
$pop=$_POST['popis'];

echo('<p>'.$naz.'</p>');
echo('<hr />');
echo('<p>'.$url.'</p>');
echo('<p>'.$pop.'</p>');

?>


Skript s ajaxem je následovný:

<script type="text/javascript">

var xmlHttp;

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

function vytvorDotazovaciRetezec() {
  var nazev = document.getElementById("nazev").value;
  var odkaz = document.getElementById("odkaz").value;
  var popis = document.getElementById("popis").value;

  var dotazovaciRetezec = "nazev=" + nazev + "&odkaz=" + odkaz
    + "&popis=" + popis;
  return dotazovaciRetezec;
}

function provedPozadavekPOST() {
  vytvorXMLHttpRequest();
  
  var url = "seznam.php";
  var dotazovaciRetezec = vytvorDotazovaciRetezec();

  xmlHttp.open("POST", url, true);
  xmlHttp.onreadystatechange = zpracujZmenuStavu;
  xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
  xmlHttp.send(dotazovaciRetezec);
}

function zpracujZmenuStavu() {
  if(xmlHttp.readyState == 4) {
    if(xmlHttp.status == 200) {
      zpracujVysledky();
    }
  }
}

function zpracujVysledky() {
  var odpovedDiv = document.getElementById("vysledek");
  if(odpovedDiv.hasChildNodes()) {
    odpovedDiv.removeChild(odpovedDiv.childNodes[0]);
  }
  var textOdpovedi = document.createTextNode(xmlHttp.responseText);
  odpovedDiv.appendChild(textOdpovedi);
}
  
</script>


takzě když odešlu ve formuláři např: Jan, Novák, Praha 3, tak se mi na výstup vypíše přímo toto <p>Jan</p><p>Novák</p><p>Praha 3</p> i s těmi tagy.
Pokud byste někdo věděl, v čem to vězí, prosím dejte vědět.
Yur4Y
Profil
Jednoducho:
odpovedDiv.innerHTML = xmlHttp.responseText;
David S
Profil *
super, funguje to, dík moc!

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0