Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

311
Vistas
Llame a do_action usando JavaScript/jQuery

Tengo una función AJAX que envía información a userpro_ajax_url después de iniciar sesión con éxito a través de Facebook.

Estoy tratando de obtener el bloque de éxito para ejecutar una función do_action usando

 <?php ob_start(); do_action('userpro_social_login', <email needs to go here>); ob_clean(); ?>

En este momento, si paso la dirección de correo electrónico manualmente, funciona bien, sin embargo, la única forma en que puedo obtener el correo electrónico de forma dinámica es a través de la respuesta actual que está en JavaScript.

La función completa es:

 FB.api('/me?fields=name,email,first_name,last_name,gender', function(response) { jQuery.ajax({ url: userpro_ajax_url, data: "action=userpro_fbconnect&id="+response.id+"&username="+response.username+"&first_name="+response.first_name+"&last_name="+response.last_name+"&gender="+response.gender+"&email="+response.email+"&name="+response.name+"&link="+response.link+"&profilepicture="+encodeURIComponent(profilepicture)+"&redirect="+redirect, dataType: 'JSON', type: 'POST', success:function(data){ userpro_end_load( form ); <?php ob_start(); do_action('userpro_social_login', ); ob_clean(); ?> /* custom message */ if (data.custom_message){ form.parents('.userpro').find('.userpro-body').prepend( data.custom_message ); } /* redirect after form */ if (data.redirect_uri){ if (data.redirect_uri =='refresh') { //document.location.href=jQuery(location).attr('href'); } else { //document.location.href=data.redirect_uri; } } }, error: function(){ alert('Something wrong happened.'); } }); });

Intenté ejecutar la acción php usando:

 jQuery(document).trigger('userpro_social_login', response.email);

Ninguno de estos funciona ... ¿qué estoy haciendo mal?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Modifique su función php userpro_fbconnect active el código allí o cree otra solicitud ajax después de que esta haya terminado

over 4 years ago · Santiago Trujillo Denunciar

0

No puede ejecutar código PHP desde su JS y viceversa. Pero lo siguiente puede ayudarte:

 <?php // Some php code goes here... ?> <script> // JS code... ob_start(); do_action('userpro_social_login', <?php <email needs to go here> ?>); ob_clean(); </script>

Y si desea ejecutar un método desde su JS , y ese método está definido usando PHP , y en el ámbito global, simplemente llámelo desde JS my_global_method()

Espero que eso ayude a solucionar tu problema.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda