Stránka 1 z 1

html kód posílaný asynchroním voláním serveru

Napsal: stř 11. črc 2007, 17:12
od bubanek
Ahoj, potřebuju poradit od někoho kdo rozumí JavaScriptu a AJAXu.

Jde o to, že nemůžu přes asynchroní volání přenést jakýkoliv HTML kód. JS zpracuje jenom čistý text, nic jiného. Ptám se tedy, jak poslat HTML kod, aby ho JS misto napsani chyby "undefined" zpracoval a normálně vypsal do těla stránky.
Ještě přihodím moje skirpty.
cp.js

Kód: Vybrat vše

function process(ukaz) {
var xmlHttp = createXmlHttpRequestObject(); 
function createXmlHttpRequestObject() {	
  var xmlHttp;
  if(window.ActiveXObject) {
  	try {
		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    	}
    	catch (e) {
      		xmlHttp = false;
   	}
  } 
  else {
	try {
		xmlHttp = new XMLHttpRequest();
	} 
	catch (e) {
     		xmlHttp = false;
    	}
  }
  if (!xmlHttp) 
	alert("Error creating the XMLHttpRequest object.");
  else 
	return xmlHttp;
}

function process(ukaz) {
  if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0) {
	name = encodeURIComponent(ukaz);
	xmlHttp.open("GET", "./skripty/cp.php?ukaz=postavy", true);  
	xmlHttp.onreadystatechange = handleServerResponse;
	xmlHttp.send(null);
  }
  else
	setTimeout('process(ukaz)', 1000);
}

function handleServerResponse() {
  if (xmlHttp.readyState == 4) {
	if (xmlHttp.status == 200) {
      		xmlResponse = xmlHttp.responseXML;
     		xmlDocumentElement = xmlResponse.documentElement;
     		vysledek = xmlDocumentElement.firstChild.data;
      		document.getElementById("obsah").innerHTML = vysledek;
    	} 
    	else  {
      		alert("There was a problem accessing the server: " + xmlHttp.statusText);
    	}
  }
}
cp.php

Kód: Vybrat vše

<?php	
	header('Content-Type: text/xml');

	echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
	echo '<response>';

	echo '<b>testovací text</b>';
	echo '</response>';
?>
cp.html

Kód: Vybrat vše

<html>
	<head>
		<title>Ajax</title>
		<link rel="stylesheet" type="text/css" href="style.css"/>
		<meta http-equiv="Content-Type" content="text/html; charset=windows-1250"/>
		<script type="text/javascript" src="./skripty/cp.js"></script>
	</head>

	<body>
		<div id="logo"><img src="./img/cp.jpg"/></div>
		
		<div id="text" style="padding: 0px;">
			<img src="./img/postavy.gif" id="menicko" onClick="process('postavy')"/> <img src="./img/ucet.gif" id="menicko"/> <img src="./img/zebricky.gif" id="menicko"/>
			<div id="obsah">aa </div>
		</div>
		<?php
			require_once('incl/podpis.html');
		?>
	</body>
</html>
Díky všem kdo se v tom vyzná a má chuť mi napsat ;)
Ještě připíšu, že je to poprvé co něco takového zkouším v praxi...

Napsal: čtv 12. črc 2007, 10:57
od matajon
nějak se mi nezdá

Kód: Vybrat vše

vysledek = xmlDocumentElement.firstChild.data;
nejsem si vědom, že by XmlNode měl nějakou vlastnost data, zkusil bych tam místo toho použít innerHTML nebo nodeValue, podle toho jak ty data chceš vrátit ...

Napsal: čtv 12. črc 2007, 12:46
od bubanek
Bohužel ani jedno nezabralo