Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > HTML, Javascript y otros
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-08-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por dec
¿lo que tú has escrito arriba funciona? Haces uso de la función "eval" y pasas el objeto "XmlHttpRequest" como parámetro, pero, ¿comprobaste que funciona?
Por supuesto. No acostumbro publicar código de más de dos líneas que no haya probado antes.

Agrego:

Justamente en la función "callback" de prueba usé request.responseText en lugar de simplemente request, para que no quedara duda.

// Saludos

Última edición por roman fecha: 23-08-2006 a las 23:10:22.
Responder Con Cita
  #2  
Antiguo 23-08-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Bueno... Pues entonces tendré que prestar atención y comprobarlo de nuevo. Voy a hacerlo esta vez fuera del proyecto, por separado, para ver si así las cosas se me presentan más claras. Dices que funciona... y te creo, ¡y a mí que me parecía hasta sintácticamente incorrecto! Por ejemplo, cuando haces esto:

Código:
eval(callBack + '(request)');
¿No se están mezclando churras con merinas? ¿No está ahí mezclándose una cadena (los paréntesis) y el identificador del objeto "request"? Yo puedo jurar que hize algo muy similar y no me funcionó, como he dicho, pero, en fin, te agradezco tu respuesta Román. Voy a tratar de intentar de nuevo a ver, que seguro que ahora va bien.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 23-08-2006 a las 23:24:26.
Responder Con Cita
  #3  
Antiguo 23-08-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Eso similar que hiciste es difícil saber qué fue. En la declaración de la función PeticionHttp, ¿te has fijado como has declarado los parámetros?.

En cuanto a la sintaxis, callBack es una cadena, al igual que '(request)', así que el parámetro que se le pasa a eval es la cadena

'procesaRespuesta(request)'

JS no es PHP, no hay- que yo sepa -evaluación de variables dentro de una cadena.

Ahora, yo probé el código en IE y te aseguro que funciona. Por lo que dices, me he puesto a probar en FF y no funciona pero, bueno, en FF no funcionan muchas cosas.

// Saludos
Responder Con Cita
  #4  
Antiguo 23-08-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

¡Estupendo! ¡Comprobado y alucinado de su funcionamiento y posibilidades!

Ahora bien, se ve que tengo que aprender sobre la función "eval" de JavaScript. Yo creo que aquí es donde estaba metiendo la pata, puesto que algo como lo que escribiste funciona:

Código:
eval(callbackfunc+'(request)');
Pero, yo estaba empeñado en hacer algo similar a esto:

Código:
eval(callbackfunc+'('+request+')');
Y bueno, algunas otras cosas más intenté, pero, ninguna con el éxito que ahora he tenido al hacerlo como dices. Muchas gracias otra vez Román. Ahora se ve que puedo ir pensando en cómo llevar a cabo el asunto, puesto que parece posible y hacedero. Gracias otra vez.

PD. Lo probé en FireFox, por cierto.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 23-08-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Curioso, yo lo he hecho funcionar en FF pero sólo pasando null al método request.send().

Si tú haces callbackfunc + '(' + request + ')', eso sí que son churros con merinas (¿qué son merinas?): estás sumando cadenas de caracteres con objetos.

Pero si esto te confunde, ¿qué tal si te digo que también funciona si pones:

Código:
eval(callBack(request));
así, sin comillas, pero llamando a la función también sin comillas:

Código:
peticionHttp('http://servidor/pagina.php', procesaRespuesta);
// Saludos
Responder Con Cita
  #6  
Antiguo 24-08-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Curioso, yo lo he hecho funcionar en FF pero sólo pasando null al método request.send().
Te refieres a cuando se hace uso del método "GET" en la petición HTTP... pues no sé qué decirte, acabo de probarlo, por curiosidad, y en FireFox 1.5 funciona bien de ambos modos: con null y sin null.

Cita:
Si tú haces callbackfunc + '(' + request + ')', eso sí que son churros con merinas (¿qué son merinas?): estás sumando cadenas de caracteres con objetos.
Desde luego, no es que tuviera que haberlo supuesto, es que si hubiera mirado en la documentación de JavaScript sobre la función "eval" creo que hubiera dado con el asunto, pero, desafortunadamente para mí, JavaScript lo tengo un poco abandonado... peor para mí, ya digo.

Respecto de la no necesidad de utilizar las benditas comillas... ¡es estupendo! Porque te quitas de los líos que pueden suponer y el código fuente queda bastante más legible y serio, me parece a mí. Gracias de nuevo Román (estoy seguro de que estaré picando código un buen rato antes de que se me ocurra pasar por la documentación de JavaScript,... si es que...)...

PD. Churras y merinas.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 24-08-2006 a las 00:05:26.
Responder Con Cita
  #7  
Antiguo 24-08-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Cita:
Empezado por roman
eso sí que son churros con merinas (¿qué son merinas?)
Las churras y las merinas son dos razas de ovejas distintas, de hay la expresión "mezclar churras con merinas"
Responder Con Cita
  #8  
Antiguo 24-08-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Ja, ja, ja. Yo leí churro

Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Crear Instancias a partir de un nombre radaalvaro .NET 10 14-04-2009 23:22:32
Partir un string FunBit Varios 5 25-07-2005 17:58:32
ejecutar PHP o javascript desde delphi torito Varios 3 11-03-2005 17:48:37
Conocer PrinterIndex a partir del nombre Novás Varios 1 16-07-2004 18:26:14
Ejecutar javascript en Intraweb Brewster Internet 1 17-06-2004 22:55:38


La franja horaria es GMT +2. Ahora son las 02:44:11.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi