У меня есть функция AJAX, которая отправляет информацию в userpro_ajax_url
после успешного входа в систему через Facebook.Вызов do_action с помощью JavaScript/jQuery
Я пытаюсь получить блок успеха запустить do_action
функцию с помощью
<?php
ob_start();
do_action('userpro_social_login', <email needs to go here>);
ob_clean();
?>
Прямо сейчас, если я передаю адрес электронной почты вручную он работает нормально, однако единственный способ, которым я могу получить по электронной почте динамически через текущий ответ, который находится в JavaScript.
Полная функция:
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.');
}
});
});
Я попытался запустить действие PHP с помощью:
jQuery(document).trigger('userpro_social_login', response.email);
Ни одна из этих работ ... что я делаю не так?
lol не видел, что приходящий исполняющий php от js – madalinivascu
Я никогда не думал, что мне тоже нужно будет это сделать :) – Yohio