Foros del Web » Programando para Internet » Javascript »

no me crea objeto ajax

Estas en el tema de no me crea objeto ajax en el foro de Javascript en Foros del Web. estoy intentando crear un objeto ajax y lo hago con este codigo Código: function CrearAjax() {var ObjetoAjax=false; var ObjetoAjax; if (window.XMLHttpRequest) {ObjetoAjax = new XMLHttpRequest(); ...
  #1 (permalink)  
Antiguo 18/05/2017, 12:18
 
Fecha de Ingreso: junio-2012
Mensajes: 8
Antigüedad: 5 años, 3 meses
Puntos: 0
no me crea objeto ajax

estoy intentando crear un objeto ajax y lo hago con este codigo

Código:
function CrearAjax()
	{var ObjetoAjax=false; 
	var ObjetoAjax;
	if (window.XMLHttpRequest) 
	{ObjetoAjax = new XMLHttpRequest();
	}
	else if (window.ActiveXObject) 
	{ObjetoAjax= new ActiveXObject("Microsoft.XMLHTTP");
	}
	return ObjetoAjax;
	}

function CalculoIva()
{
var Ajax=CrearAjax();
	Ajax.onreadystatechange= function()
		{
			if (Ajax.readyState==4)
			{alert(Ajax.readyState);
				if (Ajax.status==200)
				{alert (Ajax.status);}
			else {alert ("Error");}
			}
			else{alert(Ajax.readyState);}
		}
Ajax.open("POST","pagina.php",true);
}
el resultado es que me lanza el alert con Ajax.readyState=1 y no entiendo que esta mal,ya he pfobado con chrome y iexplorer y el resultado es el mismo.
  #2 (permalink)  
Antiguo 18/05/2017, 15:19
 
Fecha de Ingreso: octubre-2012
Ubicación: localhost
Mensajes: 654
Antigüedad: 4 años, 11 meses
Puntos: 74
Respuesta: no me crea objeto ajax

Prueba así:

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

Saludos.
  #3 (permalink)  
Antiguo 18/05/2017, 20:07
Avatar de Alexis88
Colaborador
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.227
Antigüedad: 5 años, 10 meses
Puntos: 859
Respuesta: no me crea objeto ajax

Te falta enviar la información con .send().

__________________
«Laissez faire et laissez passer, le monde va de lui même»
  #4 (permalink)  
Antiguo 19/05/2017, 02:57
 
Fecha de Ingreso: junio-2012
Mensajes: 8
Antigüedad: 5 años, 3 meses
Puntos: 0
Respuesta: no me crea objeto ajax

pero con send hay que enviar algo no?y no se que enviar, y con respecto al otro codigo ya lo probe y el resultado es el mismo, me saca "readyState=1", un saludo
  #5 (permalink)  
Antiguo 19/05/2017, 03:17
 
Fecha de Ingreso: junio-2012
Mensajes: 8
Antigüedad: 5 años, 3 meses
Puntos: 0
Respuesta: no me crea objeto ajax

he probado poniendo send() y ya me crea el objeto ajax. Pero sigue sin abrirme la pagina con
Código:
Ajax.open("POST","pagina.php",true);
el codigo es este:

Código:
function CalculoIva()
{
var Ajax=CrearAjax();

	Ajax.onreadystatechange= function()
		{
			if (Ajax.readyState==4)
			{alert(Ajax.readyState);
				if (Ajax.status==200)
				{alert (Ajax.status);}
			else {alert ("Error");}
			}
			else{alert(Ajax.readyState);}
		}
	Ajax.open("POST","pagina.php",true);
	Ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	Ajax.send();
	
}
  #6 (permalink)  
Antiguo 19/05/2017, 13:41
Avatar de Alexis88
Colaborador
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.227
Antigüedad: 5 años, 10 meses
Puntos: 859
Respuesta: no me crea objeto ajax

¿Qué mensaje se muestra en el panel de red del navegador?

Pulsa la tecla F12, elige "Network" o "Red" (según sea el navegador que uses) y ejecuta tu código. Cuando se complete la petición asíncrona, aparecerá el nombre del archivo. Dale un clic y se desplegará un segundo panel hacia la derecha. Selecciona "Response" y observa el mensaje que se muestra.

__________________
«Laissez faire et laissez passer, le monde va de lui même»
  #7 (permalink)  
Antiguo 29/05/2017, 02:13
 
Fecha de Ingreso: junio-2012
Mensajes: 8
Antigüedad: 5 años, 3 meses
Puntos: 0
Respuesta: no me crea objeto ajax

en la pagina principal y la libreria javascript me saca el codigo fuente tal cual, y en "pagina.php" me saca esto:

Código HTML:
<br />
<font size='1'><table class='xdebug-error xe-notice' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Undefined index: num in C:\wamp64\www\pagina.php on line <i>2</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0007</td><td bgcolor='#eeeeec' align='right'>234632</td><td bgcolor='#eeeeec'>{main}(  )</td><td title='C:\wamp64\www\pagina.php' bgcolor='#eeeeec'>...\pagina.php<b>:</b>0</td></tr>
</table></font>
hola
  #8 (permalink)  
Antiguo 29/05/2017, 06:01
Avatar de Alexis88
Colaborador
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.227
Antigüedad: 5 años, 10 meses
Puntos: 859
Respuesta: no me crea objeto ajax

Ahí está el error: "Notice: Undefined index: num in C:\wamp64\www\pagina.php on line 2". Presumo que en esa línea estás intentando recibir un valor mediante POST con el índice "num", pero nunca lo envías desde la petición. Corrige eso.

__________________
«Laissez faire et laissez passer, le monde va de lui même»
  #9 (permalink)  
Antiguo 31/05/2017, 03:45
 
Fecha de Ingreso: junio-2012
Mensajes: 8
Antigüedad: 5 años, 3 meses
Puntos: 0
Respuesta: no me crea objeto ajax

he modificado la pagina "pagina.php" y ahora la respuesta me sale "hola", pero en la pagina principal sigue sin aparecerme nada, a lo mejor me lo estoy planteando mal.
el codigo de la pagina "pagina.php" es este:

Código:
<?php
echo "hola";
?>
  #10 (permalink)  
Antiguo 31/05/2017, 12:01
Avatar de Alexis88
Colaborador
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.227
Antigüedad: 5 años, 10 meses
Puntos: 859
Respuesta: no me crea objeto ajax

Siguiendo los mismos pasos que realizaste para observar el mensaje de error, en lugar de revisar el contenido de la pestaña "Network", hazlo con la pestaña "Response" para ver qué respuesta estás obteniendo.

__________________
«Laissez faire et laissez passer, le monde va de lui même»
  #11 (permalink)  
Antiguo 02/06/2017, 02:19
 
Fecha de Ingreso: junio-2012
Mensajes: 8
Antigüedad: 5 años, 3 meses
Puntos: 0
Respuesta: no me crea objeto ajax

no me aparece la pestaña response, os adjunto una captura de pantalla.

https://subefotos.com/ver/?209986840ea441dbe70a89b9dff45c87o.jpg#codigos
  #12 (permalink)  
Antiguo 02/06/2017, 12:27
Avatar de Alexis88
Colaborador
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.227
Antigüedad: 5 años, 10 meses
Puntos: 859
Respuesta: no me crea objeto ajax

Dale doble clic a la fila en donde aparece "pagina.php". A la derecha, se mostrará un panel con varias pestañas. Elige "Respuesta"; allí verás la respuesta devuelta por el servidor.

__________________
«Laissez faire et laissez passer, le monde va de lui même»
  #13 (permalink)  
Antiguo 02/06/2017, 13:35
 
Fecha de Ingreso: junio-2012
Mensajes: 8
Antigüedad: 5 años, 3 meses
Puntos: 0
Respuesta: no me crea objeto ajax

me saca "hola"
  #14 (permalink)  
Antiguo 02/06/2017, 15:58
Avatar de Alexis88
Colaborador
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.227
Antigüedad: 5 años, 10 meses
Puntos: 859
Respuesta: no me crea objeto ajax

Eso quiere decir que estás obteniendo la respuesta correctamente. Ahora, debes añadir instrucciones que se ejecutarán cuando se reciba la respuesta; de esta manera, lograrás que se muestre algo en pantalla.

__________________
«Laissez faire et laissez passer, le monde va de lui même»
  #15 (permalink)  
Antiguo 03/06/2017, 11:44
 
Fecha de Ingreso: junio-2012
Mensajes: 8
Antigüedad: 5 años, 3 meses
Puntos: 0
Respuesta: no me crea objeto ajax

en que archivo? en el que se crea el objeto ajax?
  #16 (permalink)  
Antiguo 03/06/2017, 14:05
Avatar de Alexis88
Colaborador
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.227
Antigüedad: 5 años, 10 meses
Puntos: 859
Respuesta: no me crea objeto ajax

Claro. Cuando se cumple la condición de Ajax.status==200, debes realizar una serie de instrucciones mediante las cuales mostrarás algo en pantalla.

__________________
«Laissez faire et laissez passer, le monde va de lui même»



La zona horaria es GMT -6. Ahora son las 12:00.