JavaScript - Comprobar conectividad en JavaScript

   
Vista:
Imágen de perfil de Danny

Comprobar conectividad en JavaScript

Publicado por Danny (2 intervenciones) el 25/07/2017 09:50:47
Hola,

Recientemente estoy aprendiendo JavaScript, y no me está siendo difícil al ya dominar algo de Java. La cuestión es que para mis prácticas estaba intentando hacer un pequeño programa que comprueba si una web está caída u operativa, y no he tenido éxito. En Java es bastante sencillo comprobar si una web devuelve 200 o 404, pero en JavaScript no he podido. He mirado muchos tutoriales pero ninguno me ha ha funcionado y no se donde está el error. Dejo mi código para que si alguien le echa un vistazo y encuentra el problema me pueda echar una mano a entender que he estado haciendo mal. Gracias de ante mano.


1
2
3
4
5
6
7
8
9
10
11
12
13
cadena = "http://google.com";
 
var request = new XMLHttpRequest();
request.open('GET', cadena, false);
 
if (request.status == "200") {
 document.write(cadena + "  OK");
}
 
if (request.status === "404") {
	document.write (" Error conexión");
 
}

La cuestión es que request.status no hace su función de clasificar según el estado de la conexión, por lo que intuyo que algo debe faltar fuera del if.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de [abZeroX]

Comprobar conectividad en JavaScript

Publicado por [abZeroX] (116 intervenciones) el 26/07/2017 05:12:33
Hola Danny, modifique un poco tu codigo:

1
2
3
4
5
6
7
8
9
10
11
var candena = "index.html";
var request = new XMLHttpRequest();
request.open('GET', url, true);
request.onload = function() {
	if (request.status === 200) {
		console.log(cadena + "  OK");
	} else if (request.status === 404) {
		console.log("Error conexión");
	}
};
request.send(null);

Te comparto algunos enlaces de la MDN que campas te sirvan
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest
https://developer.mozilla.org/es/docs/Web/API/XMLHttpRequest/readyState
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequestEventTarget/onload

Nos comentas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Danny

Comprobar conectividad en JavaScript

Publicado por Danny (2 intervenciones) el 26/07/2017 09:55:13
Hola,

Gracias por responder, aunque sigue sin funcionarme. Entiendo que este código es para comprobar una url en propio servidor, y lo que intento hacer es comprobar una url externa.

La cadena:

var candena = "index.html";

Veo que no tiene mucho sentido, ya que no interfiere en el request, y el url no contiene ningún valor. Incluso haciendo cambios sigue sin funcionar.

Para que me entiendas, la idea era hacer una página web que me compruebe 10 dominios en servidores diferentes, para ver si están caídos.

Voy a seguir probando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip

Comprobar conectividad en JavaScript

Publicado por kip (105 intervenciones) el 26/07/2017 16:08:41
Usas algun lenguaje del lado del servidor como PHP, Python o Java ? Si es asi puedes hacerlo desde alli sin problema alguno y luego desde tu web haces llamada al servidor(script que verifique la url) enviando lo necesario para que este se encargue de ello.

Pero cual es el problema ? Creo que esta en la seguridad que implementa el navegador y bloquea tu llamada porque no pertenece al mismo dominio la URL a la que intentas llamar en consola te aparece el mensaje

1
No 'Access-Control-Allow-Origin' header is present on the requested resource.

Puedes hacerlo desde JS directamente sin recurrir al servidor, pero a mi parecer resulta mejor hacerlo desde alli ya que debes colocar las cabeceras adecuadas en el destino y si no tienes control sobre este no podras hacer nada mas que recurrir al servidor.

https://www.html5rocks.com/en/tutorials/cors/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad