JavaScript - En qué falla?

   
Vista:

En qué falla?

Publicado por gerardo medina (31 intervenciones) el 08/10/2007 19:22:58
Bueno ya llevó con AJAX, hace 1 año y meses y se me ocurrió esta idea...

------------------
PagPHP.php
------------------

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Página PHP</title>

<script>
function crearScript()
{
etiquetaScript=document.createElement("script"); //crea etiqueta escript
etiquetaScript.setAttribute("src","proceso.php"); //le asigna ruta
etiquetaScript.setAttribute("language","php"); //le asigna el lenguaje escript
document.getElementById("divContenedor").appendChild(etiquetaScript); //esa etiqueta la agrega en el div
}
</script>
</head>
<body>
<input type="button" onclick="crearScript()" value="Activar Script" /><hr />
<div id="divContenedor"></div><br />
</body>
</html>

-------------------
Proceso.php
------------------
<?
echo "<strong> demostración </strong>";
?>

Ya probé con el caso de la página Proceso retirarle los "<? ?>", e igual no activa. La fuente presentada funciona bien para "language" Javascript.. Pero el esquema lógico no esta mal? (creo yo). Y además esta bajo una página ".php", así que en el proceso de compilación debe reconecer sobre php. Coloqué aun con etiquetas "strong" en proceso, porque bajo DOM, para hacer un "appendChild", debe ser un nodo también...

Pues que me dicen?, qué esta fallando... GRACIAS!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:En qué falla?

Publicado por Lord Sairtanikvs (20 intervenciones) el 08/10/2007 19:39:32
¿que intentas hacer?

yo lo primero pondría cada linea del primer php como un echo, para que escupa el html, en caso de ser un fichero php, o bien pondria el fichero directamente como un html, que al fin y al cabo es lo que es.

despues, el php se ejecuta a nivel de servidor, por lo que si pretendes modificar alguna parte de la pagina con ese script, tendrias que hacerlo por ajax, y que sea el ajax, el que pinte esa demostracion.

A parte de eso, nunca vi llamar a un php, con la etiqueta script, asi que no se si esta bien o no.

pero bueno, para ayudarte mejor, necesitaria saber que intentas hacer. ¿Solo pintar ese echo?

el scrip javascript seria algo asi:

function Ajax(){
var objetoAjax=false;
try {
objetoAjax = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
objetoAjax = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (E) {
objetoAjax = false;
}
}

if (!objetoAjax && typeof XMLHttpRequest!='undefined') {
objetoAjax = new XMLHttpRequest();
}
return objetoAjax;
}
function creaScript(){
ajax=new objetoAjax();
ajax.open('post', 'Proceso.php',false);
ajax.onreadystatechange=function(){
if(ajax.readyState==4){
document.getElementById("divContenedor").innerHTML=ajax.responseText;
if(ajax.status==200){
}else if(ajax.status==404){
document.getElementById("divContenedor").innerHTML="procesos.php no encontrado";
}
}
ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
ajax.send(valores);
return;
}
}

El resto del codigo seria tal cual tienes. Esta es la forma simple de hacerlo, luego para php mas complejos, yo te aconsejaria que le echaras un ojo a JSON, que te permite recibir respuestas complejas, y asi puedes hacer un chequeo de integridad de que todo fue bien.

No se si eso es lo que querias, o lo querias de otra forma, espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:En qué falla?

Publicado por gerardo medina (31 intervenciones) el 10/10/2007 06:06:51
De por sì ya sè lo que hace AJAX, el detalle cuando investigaba acerca de esto encontrè acerca del DOM, que puedes crear nodos a "nivel render" con AJAX, como lo hace el DOM.
El llamado PHP a través de "script" es tan válido como el "<?", si queires checa en la web y te daràs la sorpresa se puede dar de esa forma. Pero bajo la forma script tiene una forma de nodo, por lo tanto lo puedo crear desde "javascript".

La meta de ello, es que si se puede dar el caso serìa otro medio asincrónico de llevar información. Imaginadones que sea el caso se imprime una data en sin necesidad de hacer un refreesh en pàgina , bajo javascript.

Pero ya en Firefox, probè en la consola de error javascript y no me indica ningún error.

Pero desearìa una respuesta del proque no sè activa dicho llamado...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar