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

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
Odpovědět
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

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

Příspěvek 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...
matajon
Začátečník
Začátečník
Uživatelský avatar
Registrován: 22. lis 2005
Bydliště: Dobruška
Kontaktovat uživatele:

Příspěvek 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 ...
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Příspěvek od bubanek »

Bohužel ani jedno nezabralo
Odpovědět

Zpět na „Programování a web“