Ajax not defined

Iniciado por vnak, 22 Mayo 2009, 16:02 PM

0 Miembros y 1 Visitante están viendo este tema.

vnak

Quizás este tema no vaya aquí, pero cómo que está relacionado con PHP pues no sabía dónde ponerlo. La cuestión es que quiero que al darle un enlace del menú, en el div del centro (llamado "principal") aparezca un archivo.

no se que problema puede haber pero en enlace no me envía, miro a la consola de errores de firefox y me pone:

Ajax not defined, linia 2 del archivo funciones.js

el archivo en cuestión es este
function cargarseccion(principal,enviado) {
new Ajax.Request('secciones.php',{
method: 'post',
parameters:{principal:principal,enviado:enviado},
onCreate: function(){$('principal').innerHTML= 'Cargando,espera por favor...';},
onSuccess: function(transport){$('principal').innerHTML= transport.responseText;}
});
}


function nuevanoticia(titulo,contenido,autor,enviado,sección){
new Ajax.Request('secciones.php',{
method: 'post',
parameters: {titulo: titulo, contenido: contenido, autor: autor, enviado: enviado, sección:sección},
onCreate: function(){$('principal').innerHTML = 'Cargando, espera por favor...';},
onSuccess: function(transport){$('principal').innerHTML = transport.responseText;}
});
}



y en el Index.html el código es el siguiente:


<html>
<head>
<link rel="stylesheet" type="text/css" href="estilos.css">
<script type="text/javascript" src="./funciones.js"></script>
</head>
<body>
<div id="contenedor">
   <div id="cabecera">
      Portal Web
   </div>
   <div id="cuerpo">
      <div id="lateral">
         
       <ul id="navy">
            <center><h1>Continguts</h1></center>
            <li><a href="javascript:cargarseccion('nuevanoticia')"style="text decoration: none">Nueva Noticia</a></li>
            <li><a href="#">Vínculo 2</a>
            <li><a href="#">Otro enlace</a>
            <li><a href="#">Link chulo</a>
            <li><a href="#">Más enlaces</a>
            <li><a href="#">Otro último</a>
       </ul>
       
     
      </div>
      <div id="otrolado"><center><p>Holaaa me llamo alejandro fernandez tomas y tu?</p></center></div>
      <div id="principal">
         
      <?  include("Conexion.php");

   $seleccionar_noticias = mysql_query("SELECT * FROM noticias ORDER BY id DESC");

while($mostrar_noticias = mysql_fetch_array($seleccionar_noticias))
       { echo "<p>
               <center>".$mostrar_noticias['Titulo']."</center><br>
               <center>".$mostrar_noticias['Contenido']."</center><br>
               <center>escrito por".$mostrar_noticias['Autor']."</center><br>
               
               </p>";}

 





     ?>

 














      </div>
   </div>
   <div id="pie">
      © 2009 Alejandro Fernandez Tomas
   </div>
</div>
</body>
</html>



No se que error puede haber.
PD: en el archivo secciones.php simplemente hay un
if($principal=="nuevanoticia") { include_once("enviodenoticias.php"); }

Gracias de todos modos

Spider-Net

Has leído el error. Ajax not defined. Según lo que has posteado es que no tienes definido el objeto ajax. Yo al menos no lo veo por ninguna parte, lo usas pero no lo declaras.

Usa una función que cree el objeto ajax
Código (javascript) [Seleccionar]
// Crea un objeto Ajax para trabajar de forma asíncrona con el servidor
function objetoAjax(){
var xmlhttp=false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
  xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
  }
}

if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}


Y otra que lo llame:

Código (javascript) [Seleccionar]
function ejemplo_ajax(){
       divResultado = document.getElementById('resultado');
ajax=objetoAjax();
ajax.open("GET", "ejemplo.php");
divResultado.innerHTML = '<center><img src="imagenes/loading.gif"></center>';
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
divResultado.innerHTML = ajax.responseText
}
}
ajax.send(null)
}