Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] llamada php dentro de funcion javascript

Estas en el tema de llamada php dentro de funcion javascript en el foro de Javascript en Foros del Web. Buenas, tengo la siguiente duda y espero me puedan ayudar... La siguiente funcion me esta causando dolores de cabeza ya que necesito hacer un llamado ...
  #1 (permalink)  
Antiguo 28/07/2014, 23:06
 
Fecha de Ingreso: enero-2009
Mensajes: 178
Antigüedad: 15 años, 3 meses
Puntos: 2
Exclamación llamada php dentro de funcion javascript

Buenas, tengo la siguiente duda y espero me puedan ayudar...

La siguiente funcion me esta causando dolores de cabeza ya que necesito hacer un llamado php dentro de una funcion javascript y un campo dentro de esa llamada es de tipo javascript:

<script>
function llamada() {
var anio =$("#anioC option:selected").text(); // opcion seleccionada del combobox
var variable= <?php echo $this -> requestAction ('/users/retornaDataGrafica/2014/3');?>;.
}
</script>

El valor 2014 q esta en negrilla me gustaria reemplazarlo por la variable anio pero me ha sido imposible
alguna idea?
  #2 (permalink)  
Antiguo 29/07/2014, 01:34
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: llamada php dentro de funcion javascript

JavaScript se ejecuta en el lado del cliente, mientras que PHP se ejecuta en el lado del servidor, por lo tanto, lo que pretendes hacer (mezclar variables de dos lenguajes distintos) no es posible. Ejecuta cada script en el entorno que le corresponda o para tu caso, usa Ajax.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 29/07/2014, 12:14
 
Fecha de Ingreso: enero-2009
Mensajes: 178
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: llamada php dentro de funcion javascript

podrias darme un ejemplo?
gracias
  #4 (permalink)  
Antiguo 29/07/2014, 12:16
 
Fecha de Ingreso: enero-2009
Mensajes: 178
Antigüedad: 15 años, 3 meses
Puntos: 2
Exclamación ejecutar php dentro de javascript

Buenas, tengo la siguiente duda y espero me puedan ayudar...

La siguiente funcion me esta causando dolores de cabeza ya que necesito hacer un llamado php dentro de una funcion javascript y un campo dentro de esa llamada es de tipo javascript:

<script>
function llamada() {
var anio =$("#anioC option:selected").text(); // opcion seleccionada del combobox
var variable= <?php echo $this -> requestAction ('/users/retornaDataGrafica/2014/3');?>;.
}
</script>

El valor 2014 q esta en negrilla me gustaria reemplazarlo por la variable anio pero me ha sido imposible
alguna idea?
  #5 (permalink)  
Antiguo 29/07/2014, 12:39
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: llamada php dentro de funcion javascript

Ya que usas jQuery, puedes echar mano del método ajax, con el cual puedes enviar el dato hacia el archivo PHP que procesará a dicho dato y devolverá una respuesta, luego, asignas esa respuesta a la variable que desees y listo el pollo.

Código Javascript:
Ver original
  1. $.ajax({
  2.     url: "ejemplo.php",
  3.     type: "GET",
  4.     data: "foo=" + anio
  5. }).done(function(response){
  6.     //'response' contiene el valor devuelto por $this -> requestAction ('/users/retornaDataGrafica/2014/3')
  7. });

Y en tu archivo PHP:

Código PHP:
Ver original
  1. $foo = $_GET['foo'];
  2. echo $this->requestAction('/users/retornaDataGrafica/' . $foo . '/3');

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #6 (permalink)  
Antiguo 29/07/2014, 13:33
 
Fecha de Ingreso: enero-2009
Mensajes: 178
Antigüedad: 15 años, 3 meses
Puntos: 2
Exclamación Respuesta: llamada php dentro de funcion javascript

DIsculpa la molestia he estad tratando de incorporar tu idea en la funcion pero sigo sin poder lograrlo. Ya que no estoy muy segura del valor del URL en el ajax y tampoco se si colocando todo dentro de la funcion javascript funcione o debo separarlos.


Código Javascript:
Ver original
  1. <script>
  2. function llamada() {
  3.  
  4.  
  5.       //  $("#anioC option:selected").text()
  6.      
  7.  var anio=$("#anioC option:selected").text();
  8.  
  9.  
  10. $.ajax({
  11.     url: "estadisticas.ctp",
  12.     type: "GET",
  13.     data: "foo="+anio ;
  14. }).done(function(response){
  15.     //'response' contiene el valor devuelto por $this -> requestAction ('/users/retornaDataGrafica/2014/3')
  16. });
  17.  
  18.     var calcularVentas =  <?php echo  $this -> requestAction ('/users/retornaDataGrafica/'.$_GET['foo'].'/3');?>;
  19. }
  20. </script>

La funcion ajax me da error, algo estoy haciendo mal evidentmente

Gracias nuevamente
  #7 (permalink)  
Antiguo 29/07/2014, 13:55
 
Fecha de Ingreso: enero-2009
Mensajes: 178
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: llamada php dentro de funcion javascript

falto mencionar que el valor anios no es estatico es dinamico , ya que viene del valor seleccionado del combobox
  #8 (permalink)  
Antiguo 29/07/2014, 14:02
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: llamada php dentro de funcion javascript

Veo que no me entendiste. Debo de suponer que ese $this->requestAction es la llamada a un método de una clase en PHP, ¿verdad?, pues si es así, debes de tener ese código en un archivo PHP APARTE del código JavaScript.

Podrías hacer lo siguiente: En un archivo inicial, ejecutas el código JavaScript, en otro, tendrás tu clase con sus métodos, entre ellos, el método requestAction y en un tercer archivo PHP, incluyes al archivo de la clase PHP y recepcionas el dato enviado con el método Ajax desde el primer archivo. Finalmente, ejecutas el método de la clase pasándole como argumento el dato recibido.

Primer archivo:
Código HTML:
Ver original
  1. <!-- El resto del código -->
  2. <script type = "text/javascript">
  3. function llamada(){
  4.     var anio = $("#anioC option:selected").text();
  5.     $.ajax({
  6.         url: "ejemplo.php",
  7.         type: "GET",
  8.         data: "foo=" + anio
  9.     }).done(function(response){
  10.         alert(response);
  11.     });
  12. }

Segundo archivo:
Código PHP:
Ver original
  1. class foo{
  2.     public function requestAction($bar){
  3.         //Tus instrucciones
  4.     }
  5. }

Tercer archivo:
Código PHP:
Ver original
  1. include 'segundo_archivo.php'; //Incluyes al segundo archivo
  2. $clase = new foo();
  3. $dato = $_GET['foo'];
  4. echo $clase->requestAction('/users/retornaDataGrafica/' . $dato . '/3');

De este modo, se mostraría una alerta con lo que imprime la línea cuatro del tercer archivo, pero en lugar de la alerta puedes realizar cualquier otra acción. Ojo, estoy suponiendo que la estructura de tu código es más o menos así, de modo que si no es así, tendrás que adaptarlo.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 31/07/2014 a las 15:33 Razón: Palabra errada

Etiquetas: funcion, llamada, php, select, valor, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:04.