Foros del Web » Programando para Internet » Javascript »

Problema JSON y AJAX

Estas en el tema de Problema JSON y AJAX en el foro de Javascript en Foros del Web. hola soy un poco novatilla, pero tengo un problema que no se solucionar tengo una pagina html con el siguiente codigo Código: <!DOCTYPE html> <html> ...
  #1 (permalink)  
Antiguo 29/10/2012, 08:12
Avatar de laqmaslocaesta  
Fecha de Ingreso: octubre-2012
Mensajes: 26
Antigüedad: 11 años, 5 meses
Puntos: 1
Pregunta Problema JSON y AJAX

hola

soy un poco novatilla, pero tengo un problema que no se solucionar

tengo una pagina html con el siguiente codigo

Código:
<!DOCTYPE html>
<html>
<head>
<script>
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","http://192.168.1.35:8080/alumnos/show?nombre="+str,true);
xmlhttp.send();
}
</script>
</head>
<body>

<div id="myDiv"><h2>Let AJAX change this text</h2></div>
<button type="button" onclick="loadXMLDoc()">Change Content</button>

</body>
</html>
donde quiero destacar sobre todo esta frase:

Código:
xmlhttp.open("GET","http://192.168.1.35:8080/alumnos/show?nombre="+str,true);
en el llamo a una apliación externa que he creado con Symphony que se encuentra en esa dirección. Es mas comprueba su funcionamiento, incluyendo en el navegador:

http://192.168.1.35:8080/alumnos/show?nombre=1

y lo que veo es :

el texto hola radiola

El codigo de dicho metodo es :

Código:
public function executeShow(sfWebRequest $request){

return $this->renderText("hola Radiola");

}
pero sin embargo, cuando ejecuto el codigo html en el navegador y le doy al boton, no veo nada. El hola radiola que deberia aparecer no esta!!! en su lugar hay vacio.
Alguien me puede indicar que puede estar pasado???
  #2 (permalink)  
Antiguo 29/10/2012, 09:59
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Problema JSON y AJAX

Buenas

Por lo que veo el error esta al acceder a un dominio diferente la cual no esta permitido y te debe estar generando un error del tipo Access-Control-Allow-Origin

Para esto en tu otro servidor deben poder colocar la instruccion

header('Access-Control-Allow-Origin: *');

que hace referencia a que el servidor remoto va a poder realizar la peticion que viene desde el otro servidor

Saludos
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 29/10/2012, 10:55
Avatar de laqmaslocaesta  
Fecha de Ingreso: octubre-2012
Mensajes: 26
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Problema JSON y AJAX

hola

primero agradecerte tu respuesta

emplee el firebug para ver que error me daba, y lo mas estraño es que no me daba ningun error, pero la respuesta estaba vacia

Intentare lo que dices a ver si funciona, aunque no tengo muy claro si debo ponerlo en la apliación Symfony o desde el script que le llamo
  #4 (permalink)  
Antiguo 30/10/2012, 05:52
Avatar de laqmaslocaesta  
Fecha de Ingreso: octubre-2012
Mensajes: 26
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Problema JSON y AJAX

hola

he modificado como me dijiste la cabecera de la respuesta y entonces el codigo de mi funcion queda asi

Código:
public function executeShow(){
$response = new Response();
 $response->headers->set('Access-Control-Allow-Origin', '*');
 $response->headers->set('Access-Control-Allow-Methods', '*');
 $response->headers->set('Access-Control-Allow-Headers', '*');
  $response->body('hola radiola')        
 return $response;
}
Ahora cuando ejecuto desde el navegador llamando directamente no aparece nada

Y cuando lo hago desde la pagina html, me sale un Internal Server el error.

Alguna idea???
  #5 (permalink)  
Antiguo 30/10/2012, 09:10
Avatar de laqmaslocaesta  
Fecha de Ingreso: octubre-2012
Mensajes: 26
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Problema JSON y AJAX

finalmentte lo he conseguido

Explico como paso a paso para futuros

Los codigos que yo puse al principio estan bien

lo que tienes que hacer es poner en el shell

Código:
sudo a2enmod headers
puede ocurrir que te diga que no tiene header, en cuyo caso se puede solucionar con un update o configurando manualmente las header de apache (yo he buscado en google y me ha salido configuracion avanzada de apache, headers)

te vas al fichero donde tienes tu <Virtualhost>

y incluyes la siguiente linea

Código:
Header set Access-Control-Allow-Origin *
vuelves a darte a

Código:
sudo a2enmod headers
y reseteas apache y listo, cuando ejecutes el codigo, todo ira perfecto!!!

Etiquetas: ajax, html, json
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 09:37.