Foros del Web » Programando para Internet » Javascript »

Ajax no funciona

Estas en el tema de Ajax no funciona en el foro de Javascript en Foros del Web. Hola, tengo el siguiente codigo javascript : @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original <!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> ...
  #1 (permalink)  
Antiguo 30/06/2013, 23:39
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 3 meses
Puntos: 29
Ajax no funciona

Hola, tengo el siguiente codigo javascript:

Código Javascript:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Documento sin título</title>
  6. <script language="javascript">
  7. function ajax(){
  8.     var tmp;
  9.     if(window.XMLHttpRequest){
  10.         tmp=new XMLHttpRequest();
  11.     }else{
  12.         tmp=new ActiveXObject("Microsoft.XMLHTTP");
  13.     }
  14.     return tmp;
  15. }
  16. function gos(){
  17.     ajax=ajax();
  18.     ajax.onreadystatechange=function(){
  19.         if(ajax.state==200 && ajax.readyState==4){
  20.             alert(ajax.responseText);
  21.             document.getElementsByTagName('div')[0].innerHTML=ajax.responseText;
  22.         }else{
  23.             document.getElementsByTagName('div')[0].innerHTML='Loading...';
  24.         }
  25.     }
  26.     ajax.open('POST','recibir.php',true);
  27.     ajax.setRequestHeader("Content-type","application/x-www-form-urlencoded");
  28.     ajax.send('info='+document.getElementById('cosa').value);
  29.    
  30. }
  31. </script>
  32. </head>
  33.  
  34. <body>
  35. <input type="text" id="cosa" />
  36. <input type="button" onclick="gos();" />
  37. <br />
  38. <div>
  39.  
  40. </div>
  41. </body>
  42. </html>


Y en el archivo php

Código PHP:
Ver original
  1. <?php
  2. print $_POST['info'].'<br />Funciona!!!'
  3. ?>

Antes tambien he usado ajax y funcionaba, pero ahora creo que tengo mal algun detalle y no llega la respuesta simplemete cambie el contenido de la div por Loading...

Que hago mal?
  #2 (permalink)  
Antiguo 01/07/2013, 00:24
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Ajax no funciona

Hola:

Lo que veo raro es que no exista formulario... ¿Qué problema tienes... ?

¿Te has fijado en la consola del navegador?

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 01/07/2013, 00:39
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 3 meses
Puntos: 29
Respuesta: Ajax no funciona

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

Lo que veo raro es que no exista formulario... ¿Qué problema tienes... ?

¿Te has fijado en la consola del navegador?

Saludos
Hola, creo que no necesito formulario porque el boton tiene asignado onclick a la funciona que realiza el ajax y envia los datos. O me confundo y se necesita?
  #4 (permalink)  
Antiguo 01/07/2013, 01:20
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Ajax no funciona

Hola:

En principio es lo que he visto "anormal", y sin saber si existen errores, tan solo doy mi opinión... si puedes probar alternativas, podrías inicializar el value del control con alguna frase del estilo "introduzca dato"...

Yo suelo usar controles de formulario dentro de un formulario, así que fuera de su contexto, no se me ocurre otra solución...

Otra cosa, ¿lo has probado en más navegadores?

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 01/07/2013, 02:22
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 3 meses
Puntos: 29
Respuesta: Ajax no funciona

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

En principio es lo que he visto "anormal", y sin saber si existen errores, tan solo doy mi opinión... si puedes probar alternativas, podrías inicializar el value del control con alguna frase del estilo "introduzca dato"...

Yo suelo usar controles de formulario dentro de un formulario, así que fuera de su contexto, no se me ocurre otra solución...

Otra cosa, ¿lo has probado en más navegadores?

Saludos
Hola, el value del control simplemente se me ha olvidado

Lo he provado en chrome y ie 7 , pero si no funciona en chrome no creo que funcionaria en los demas. De que controles de formulario hablas?

El codigo lo revise varias veces y lo volvi a escribir pero sigue igual... Sera un fallo tonto :D

Saludos
  #6 (permalink)  
Antiguo 02/07/2013, 15:39
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 3 meses
Puntos: 29
Respuesta: Ajax no funciona

Hola he intentado cambiar de codigo asi:

Código Javascript:
Ver original
  1. var con=ajax();
  2.         con.open('POST','register.php',true);
  3.         con.setRequestHeader("Content-type","application/x-www-form-urlencoded");
  4.         con.send('name=cosa');
  5.         con.onreadystatechange=function(){
  6.             if(con.readyState==4 && con.status==200){
  7.                 alert('gooood!!!');
  8.             }else if(con.readyState>0){
  9.                 alert('loading');
  10.             }else if(con.status==404){
  11.                 alert('Se ha producido un error al intentar conectar con el servidor. Codigo: 404');
  12.             }
  13.         }

La funcion ajax() es:

Código Javascript:
Ver original
  1. function ajax() {
  2.     try {
  3.         objeto = new XMLHttpRequest();
  4.     } catch(err1) {
  5.         try {
  6.             objeto = new ActiveXObject("Msxml2.XMLHTTP");
  7.         } catch (err2) {
  8.             try {
  9.                 objeto = new ActiveXObject("Microsoft.XMLHTTP");
  10.             } catch (err3) {
  11.                 objeto = false;
  12.             }
  13.         }
  14.     }
  15.     return objeto;
  16. }

Y el archivo php:

Código PHP:
Ver original
  1. <?php
  2. print $_POST['name'].'aaa';
  3.  
  4. ?>

Pero simplemente alerta loading y nada mas ... Ni muestra error ni respuesta... En IE 7 Funciona ... y en chrome no ??? Porque ??

Alguna sugerencia o si no dar me un ejemplo sobre ajax que funciona aunque en internet hay muchos..

Última edición por patilanz; 02/07/2013 a las 15:52

Etiquetas: ajax, funcion, html, input, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:41.