elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [Resuelto] [Pregunta]: ¿Como puedo pasar de html(); a eval();?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Resuelto] [Pregunta]: ¿Como puedo pasar de html(); a eval();?  (Leído 2,743 veces)
Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
[Resuelto] [Pregunta]: ¿Como puedo pasar de html(); a eval();?
« en: 21 Agosto 2019, 20:55 pm »

Buenos días a todos!

Siempre que use ajax para devolver los resultados usaba .html

Código
  1. .done(function(results)
  2. {
  3. $('#box_resultados).html(results);
  4. })
  5.  

En un tema pasado me dijeron que usar .html no es lo ideal y era preferible usar .eval();
lo que no comprendo del todo sería como hacerlo ya que reemplazar .html por .eval(); no me devuelve nada.

Código
  1. .done(function(results)
  2. {
  3. $('#box_resultados).eval(results);
  4. })
  5.  

Lo que se hace en el fichero ajax es usar una variable temporal ($tmp), lo que va acumulando información que luego mostrará.

Fichero ajax
Código
  1. $tmp = '';
  2. $tmp.= '<div style="background: yellow;">
  3.                   <h1>Ejecutado</h1>
  4.            </div>';
  5. echo $tmp;
  6.  

Como sería para poder devolver los resultados con eval();

Muchas gracias.


« Última modificación: 9 Septiembre 2019, 21:02 pm por #!drvy » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [Pregunta]: ¿Como puedo pasar de html(); a eval();?
« Respuesta #1 en: 21 Agosto 2019, 21:08 pm »

no tiene mucho sentido usar eval ahi, podrías poner el link del tema para ver el contexto


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
Re: [Pregunta]: ¿Como puedo pasar de html(); a eval();?
« Respuesta #2 en: 21 Agosto 2019, 21:38 pm »

no tiene mucho sentido usar eval ahi, podrías poner el link del tema para ver el contexto

Es este
https://foro.elhacker.net/desarrollo_web/pregunta_iquestcomo_podria_ejecutar_solamente_un_script_en_un_archivo_ajax-t498627.0.html
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [Pregunta]: ¿Como puedo pasar de html(); a eval();?
« Respuesta #3 en: 21 Agosto 2019, 21:53 pm »

lo comprendiste mal... no era que usaras eval todo el tiempo con ajax, es que si vas a pasar un codigo javascript, en lugar de inyectar todo el script al html con etiquetas y demas, solo uses eval para ejecutar el codigo... me explico

en lugar de
Código
  1. function Sumar(value_a, value_b)
  2. {
  3.     var resultado_suma = valor_a + valor_b;
  4.     $.ajax({
  5.          url: 'archivo_ajax.php',
  6.  type: 'POST',
  7.  dataType: 'html',
  8.  data: {resultado_suma},
  9.     })
  10.  
  11.     .done(function(results)
  12.     {
  13.  $('body').append(results);
  14.     })
  15. }
  16.  

donde el ajax es

Código
  1. <script type="text/javascript>
  2. alert('<?php echo($_POST['resultado_suma']); ?>');

hagas

Código
  1. function Sumar(value_a, value_b)
  2. {
  3.     var resultado_suma = valor_a + valor_b;
  4.     $.ajax({
  5.          url: 'archivo_ajax.php',
  6.  type: 'POST',
  7.  dataType: 'html',
  8.  data: {resultado_suma},
  9.     })
  10.  
  11.     .done(function(results)
  12.     {
  13.  eval(results);
  14.     })
  15. }
  16.  

y el ajax sea

Código
  1. alert('<?php echo($_POST['resultado_suma']); ?>');


es decir no usar HTML si no es necesario

en este nuevo caso no es un javascript el resultado, asi que la via logica es insertarlo al html por vias normales (.append, .prepend, .html, o cualquier que sea necesario para tu caso)
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
Re: [Pregunta]: ¿Como puedo pasar de html(); a eval();?
« Respuesta #4 en: 21 Agosto 2019, 22:03 pm »

Ahora entendí, te agradezco mucho!  ;-)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
donde puedo en contra el encristador eval unescape
Seguridad
manu70 1 3,611 Último mensaje 26 Agosto 2011, 16:00 pm
por Randomize
(Pregunta): ¿Como puedo eliminar/remover un elemento HTML?
Desarrollo Web
Leguim 3 2,654 Último mensaje 3 Marzo 2019, 15:30 pm
por EdePC
[Resuelto] [Pregunta]: ¿Como pasar UTF-8 datos PHP?
PHP
Leguim 8 4,148 Último mensaje 25 Julio 2019, 00:20 am
por WHK
[Resuelto] [Pregunta]: ¿Como puedo realizar esto? « 1 2 »
PHP
Leguim 10 6,567 Último mensaje 25 Abril 2020, 05:27 am
por sirefys
[Pregunta]: Problemas con javascript (eval)
Desarrollo Web
Leguim 2 3,105 Último mensaje 14 Octubre 2021, 23:55 pm
por MinusFour
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines