Ver Mensaje Individual
  #6 (permalink)  
Antiguo 13/02/2009, 13:04
Avatar de SPAWN3000
SPAWN3000
 
Fecha de Ingreso: marzo-2008
Ubicación: Bogota
Mensajes: 858
Antigüedad: 16 años, 2 meses
Puntos: 15
Realmente no se necesita un libro... Solo unas 30 lineas de código javascript, ya que conoces de VB.net debes conocer VB 6, y habrás escuchado de los ActiveX, sencillo AJAX tiene un objeto llamado XMLHttpRequest(El cual es un ActiveX creado inicialmente por Microsoft) y posteriormente difundido en otros navegadores.

Cuales la funcionalidad de este objeto:

Hacer llamadas al servidor(puede ser por GET o POST). en el servidor se interpretan estas llamadas y se genera un respuesta HTTP, la cual es interceptada por el mismo objeto que origino la petición y se lo entrega al usuario a ver que hace con el resultado.

Encontraras muchos ejemplos para PHP o JAVA(Similares), pero como alguien te dijo
para asp hay que hacer algunas adaptacaiones.

Mira este ejemplo con activeX(Solo funciona para Iexplorer)-Abre un archivo excel en la unidad C, en la segunda hoja.

<html>
<head>
<script language="javascript">
//defino la función que hace la operación
function MIexcel(){

var IEx='';//is IE
var Hoja;
var Libro;
var Vcols;
var ObjetoXLS;//Objeto excel

IEx=document.all?1:0; //is IE confirm

if(IEx==1){
ObjetoXLS = new ActiveXObject("Excel.Application");
RUTA = "c:/fuentes.xls";
Libro = ObjetoXLS.Workbooks.OPEN(RUTA,false,false);
Hoja = Libro.Worksheets(2);
Hoja.Activate(); //Activar la hoja
ObjetoXLS.Application.Visible = true;

//Mostrar excel una vez ejecutado
ExcelAp.visible = true;
//Abrir un archivo específico
var excBook = ExcelAp.Workbooks.open("c://fuentes.xls");

//ObjetoXLS = new ActiveXObject('Excel.Application');
//Libro = ObjetoXLS.Workbooks.Add; //Libro
//Hoja = Libro.Worksheets(2); //Hoja
//Hoja.Activate(); //Activar la hoja
//ObjetoXLS.ActiveSheet.Cells(2,2).Value = 'Hola';
//ObjetoXLS.Application.Visible = true;
}else{//Crear un complemento para firefox
alert('Esto solo es compatible para iexplorer');
}
}


//Libro.Close(true);//Cerrar libro
//ObjetoXLS.Application.Quit();//cerrar aplicacion
//MIexcel();
</script>
</head>
<body>

<a href= "javascript:MIexcel();">Abrir Excel</a>
</body>
</html>

-> Puedes hacer lo que desees con los activeX(En windows), ya que fueron los que se inventaron esto... En Java algo similar a los activeX son los JavaBeans(Ojo: no confundir con EJB), y menos con Pojos.

Ahora; volviendo en materia:

Existen diferentes versiones de este objeto, implementadas por cada empresa o navegador. Existen 4 navegadores Natos(Iexplorer, Opera, Firefox, Konqueror) y el nuevo CHROME(basado web kits). Los otros se derivan de estos.

Código:
<html>
<head>
<script>
var ConnAJX = null;
var XMLHttpObject = [
    function () {return new XMLHttpRequest()}, //Other
    function () {return new ActiveXObject("Msxml2.XMLHTTP")}, //IE
    function () {return new ActiveXObject("Msxml3.XMLHTTP")}, //IE
    function () {return new ActiveXObject("Microsoft.XMLHTTP")} //IE
];

function crearhttp(){
//Esto analiza la versión compatible para tu navegador
//Y te devuelve el objeto apropiado.
var xxmlhttp = false;
			for (var i=0;i<XMLHttpObject.length;i++) {
			try { xxmlhttp = XMLHttpObject[i](); }
			catch (e) { continue; }
			break;
return xxmlhttp;
}

//Ahora un ejemplo usando post
function interactuar(){
var ConnAJX = crearhttp();
//Funcion de retorno
ConnAJX.onreadystatechange = funcionretorno;
//Url se remplaza por tu archivo de destino en server.
ConnAJX.open(POST,url,true);
//La cabecera
ConnAJX.setRequestHeader('Content-Type,application/x-www-form-urlencoded');
//Los parámetros enviados desde el form
ConnAJX.send(SndParametros);
}
function funcionretorno(){
if(ConnAJX.readyState == 1){//Iniciando transacción
		document.body.style.cursor='wait';
		EstadoAjax=1;
}else if(ConnAJX.readyState == 4){//Terminado
//(ConnAJX.status != 200 && ConnAJX.status != 304)//Validar errores
alert('El resultado: '+ConnAJX.responseText);
}
}
</script>
</head>
<body>
<a href="#" onclick="interactuar()">Probar</a>
</body>
En la variable url: la puedes remplazar con un archivo .htm o .Html
url por prueba.htm
y en prueba colocas:
archivo Prueba.htm

Código:
<html>
<head></head>
<body>
<p>Resultado</p>
</body>
</html>
Mas o menos creo que debería funciona, hay que probar...
Hace falta validar un montón de cosas, errores y demás... pero esto es lo básico.

Al final de esta faq hay alguien haciendo un intento con asp,
Por tonqac:
http://www.forosdelweb.com/f77/howto...e-ajax-510438/

Última edición por SPAWN3000; 13/02/2009 a las 15:48