html kód posílaný asynchroním voláním serveru
Napsal: stř 11. črc 2007, 17:12
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
cp.php
cp.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...
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);
}
}
}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>';
?>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>Ještě připíšu, že je to poprvé co něco takového zkouším v praxi...