Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/06/2014, 10:33
eloyucu
 
Fecha de Ingreso: octubre-2013
Ubicación: Pego Alicante
Mensajes: 25
Antigüedad: 10 años, 6 meses
Puntos: 0
XMLHttpRequest cannot load

Hola buenos días.

Estoy haciendo unas pruebas con el servidor WAMP en local y me he encontrado con un error que me está dando la lata desde hace un par de días.

El caso es que antes todo iba bien, pero instalé el WebMatrix (que nunca llegó a funcionar con el módulo iisnode), y posteriormente Visual Studio Web Express, y la cosa se torció. Estas herramientas utilizan los Internet Information Service, que tienen la escucha por defecto en el puerto 80. Al principio intenté cambiar ese puerto a otro diferente... y lo conseguí, ahora el IIS está a la escucha en otro puerto.

Pero parece que el problema persiste, no sé que es lo que hay en el puerto 80 pero no me deja arrancar los servicios de WAMP. Utilicé el comando netstat -ab y el resultado fue negativo "No se puede obtener información de propiedad"... o sea, no me dice qué aplicación está utilizando estos puertos. Pero algo ahí... por que tipeando localhost en el navegador aparece un error 404 en lugar de un "Vaya, google no pudo encontrar esta página". He leído que puede ser SQL Reporting Services y SQL Integration Services... pero no sé como desactivarlos (lo he intentado toda la mañana).

La otra solución que se puede implementar (y aquí viene lo importante de la consulta) es cambiar el puerto de escucha del WAMP... Vale, parece fácil, se modifica el httpd.conf y el wampmanager.tpl y ya tenemos los servicios trabajando. Accedo a las páginas y me las sirve correctamente, pongo un wordpress y me lo sirve, etc...

Pero (como no podía ser de otra manera, hay peros en esta historia), en un proyecto que requiere hacer peticiones post y get con javascript al servidor, cada vez que ejecuto una de estas operaciones, la aplicación no hace nada, y en la consola de log del navegador aparece este error:

XMLHttpRequest cannot load http://localhost/mengual/core/controller_usuario.php?numero_usuario=2. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8081' is therefore not allowed access.

Lo primero que me llama la atención es que cuando hago la llamada la hago así:

Código Javascript:
Ver original
  1. var servidor = "[COLOR="red"]localhost:8081[/COLOR]";
  2. jQuery.get("http://"+servidor+"/mengual/core/controller_usuario.php?numero_usuario=" + cuadro_aux.value,
  3. function(data,status){/*cuerpo de función callback*/});

Y sin embargo el error que escupe es: ]http://localhost/mengual/core/controller_usuario.php?numero_usuario=2
Es como si a pesar de indicarle que la petición la tiene que hacer en el puerto 8081 el servidor sólo quisiera hacer el tratamiento de estos métodos por el puerto 80.

¿Alguien tiene alguna idea de como solucionar esto? Me sirve tanto poder desactivar todos los procesos que corren en el puerto 80 (windows8), como "forzar" al wamp a procesar peticiones por otros puerto que no sean el 80.

GRACIAS

PD: No estoy muy seguro que mi problema pudiera etiquetarse en la categoría de javascript, pero como a)el fallo se produce al hacer una petición con javascript, y b)no se donde podría escribirlo, pues al final lo he puesto aquí.