COMO LO HARÍAS ???

visitas.

COMO LO HARÍAS ???

Bueno en esta ocasión me encuentro escribiéndoles acerca de un tema que gira alrededor de algunas experiencias que tuve durante el periodo de tiempo de coordinador en alguna empresa de procedencia no importante para el fin aquí propuesto. Recuerdo que en ese lapso de tiempo realice algunas entrevistas y no se si afortunada o desafortunamente fueron no muy pocas. Tras una prueba teórica y luego una práctica casi siempre les cerraba la entrevista con una pregunta que en realidad no tenía ninguna relevancia en su calificación pero que igual me servia para medir el nivel de Teofilismo del personaje o de la hembristica en cuestion.

La pregunta realizada no se si era o no sencilla, igual eso no es lo importante; acaso no están aquí para leer cosas que sean interesantes, o me equivoco. Sin embargo entiendo que gracias a la relatividad inherente del marco de referencia de quien recibe o intenta responder la pregunta, esta puede variar entre algo tontronamente sencillo y algo definitivamente interesante y elegante.

Ya esta bueno de chacharas, y para entrar en materia supon que eres un programador de esos que se empaquita por que logro usar un plugin de jQuery, o de esos que siente un magico poder tras darle su propia implementacion en un lenguaje java-scriptistico a un comportamiento de su desarrollo, o quizas alguno de esos que se siente feliz y contento trabajando con uno de esos super frameworks que facilitan mucho la labor del arte de crear sitios, paginas, o de los pocos que los utilizan para hacer verdaderas aplicaciones web. Un dia cualquiera recibes un requerimiento de consumir o utilizar un recurso web que se encuentra en otro sitio web, o alguien como yo desocupado en este momento intenta persuadirte con una situacion como la que en este momento te propongo. Lo importante es que tu eres un man amante de AJAX y para hacerlo mas directo en este caso eres amante de alguno de estos frameworks como jQuery, prototype, etc. No obstante, y para ser mas concreto la pregunta es la siguiente: puedes desde un recurso que tengas alojado en tu servidor ordenarle a un cliente que realize una solicitud asincrona a un recurso que se encuentra en un sitio o dominio ajeno...

Con la intención de ser directo y concreto como todo extraterrestre krupictiniano. Considerese un fichero “local-resource.html” en el mismo directorio donde creas un archivo con dos divisiones HTML con ids “div01” y “div02” y las siguientes dos lineas en un script que se deberan ejecuta una vez se ha cargado el documento en el navegador:

$('#div01').load('./local-resource.html');
$('#div02').load('http://www.google.com.co');

Lo anterior lo haces con los pre-requisitos necesarios como vincular la librería jQuery (o como se ilustra por compelto debajo). Que ocurrira al cargarse la pagina?

Llegas te sientas con la suficiente confianza y talento o teofilismo virtual como capo que te crees y te sientes. Tras pasar los minutos empiezas a tirar codigo y elaboras un par de documentos HTML como el que te ilustro a continuacion (que yo hice en pocos minutos corriendo) y los alojas en un webserver:

Archivo: local-resource.html

<html>
<head>
<title>LOCAL RESOURCE</title>
</head>
<body onLoad="javascript:makeRemoteAjaxes()">
<h2>THIS IS A LOCAL RESOURCE</h2>
</body>
</html>

Archivo: index.html

<html>
<head>
<title>AJAX REQUEST TO ANOTHER WEBSITE - TEST</title>
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script type="text/javascript">
function runAjaxes(){
//$('#div01').load('http://127.0.0.1/ajaxTest/local-resource.html');
$('#div01').load('./local-resource.html');
$('#div02').load('http://www.google.com.co');
}
</script>
</head>
<body onLoad="runAjaxes()">
<h1>AJAX REQUEST TO ANOTHER WEBSITE - TEST</h1>
<br><br><br>
<div id="div01" width="500px" heigth="500px" style="background-color:#009860; border:1px solid #000000">Aqui ustedes esperan se carge un recurso local...!!!</div>
<br><br><br>
<div id="div02" width="500px" heigth="500px" style="background-color:#006099; border:1px solid #000000">Aqui ustedes esperan se carge el sitio de google...!!!</div>
</body>
</html>

PD: Probablemente llegas y encuentras un resultado que no esperabas, como lo harías? O probablemente solo dices que tontronismo!!!! En ambos casos usaste tu tiempo en leer mis palabras y algo positivo has realizado o en el peor de los casos al menos solo es neutralmente y no un desperdicio como darle muchos clicks a tu FB.

Comentarios

  1. Está es una opción con PHP:

    $handler = curl_init("http://www.google.es");
    $response = curl_exec ($handler);
    curl_close($handler);
    echo $response;

    ResponderBorrar
  2. Con la librería cURL podemos interactuar con cualquier página web enviar y recibir datos de las mismas.

    ResponderBorrar
  3. Aunque en este medio no importa quienes seamos, sino nuestras ideas reconozco y admito que me gustaría conocer quien eres!!! No se si eres un llave o una hembrita, entonces no se como responderte jejeje.. Sin embargo tratare de ser formal.

    En relación con tu comentario hay que decir que es una solución válida basada en el uso de la extensión curl del lenguaje lenguaje PHP tan amado por muchos. Sin embargo también hay que mencionar que tal servidor web debería contar con el susodicho antes mencionado.

    Que tal si no se cuenta con el susodicho? No hay solución?? Como consejo te invito a que conozcas la verdadera razón del porque no funciona, prueba y lee el error que aparece en la consola de cualquier depurador del navegador de tu preferencia.

    Saludos,

    Teo, the Extraterrestrial...

    ResponderBorrar
  4. Lo que sucede realmente es que de manera nativa, JavaScript prohibe los llamados HTTP a otros dominios. Esto es un tema meramente de seguridad, ya que si se permitiera, se expondria fácilmente un sitio a ataques de tipo XSS. Hay muchas soluciones, pero tratando el tema mediante JavaScript como tal, lo mas adecuado es usar JSONP, que básicamente es la misma petición, pero en vez de devolverla a un elemento DOM como tal, se le pasa una funcion tipo callback, y la respuesta se envia como parámetro de ésta funcion. Es algo mejor que la mencionada usando cUrl, debido a que el servidor puede no tener habilitado tal servicio.

    ResponderBorrar
  5. Exacto, eso que dice Gus es completamente cierto. De hecho si entras a un aplicativo o jueguito de facebook y abres la consola del google-chrome podras ver un error cuando se intenta acceder a codigo desde otro dominio en otro servidor. esto es comun y no por eso dejan de funcionar esos juegos pero si es molesto para aquellos que somos amantes ademas de tirar codigo de ser estrictos en el perfeccionismo. si mal no recuerod JSONP no es compatible con todos los navegadores. En mi concepto en estos casos seria mejor manejar webservices, o si se prefiere usar javascript del lado del servidor (Node.js ?)

    ResponderBorrar
  6. Otro personaje más que aparece en el blog. Bienvenido mi llave y sería un placer conocer quien de todos los personajes que conozco es usted... Pronto estaré mostrando otra alternativa.
    Lo importante es también conocer otras alternativas que puedan sugerir los demás.

    ResponderBorrar

Publicar un comentario

Entradas más populares de este blog

Un par de cuadrados para todos

Dominós para todos. Parte I.

Crocancia de cuadrados en abundancia