Como passar jQuery ajax URL value

Eu sou novo no WordPress. Eu tenho um código jQuery como este … no meu arquivo header.php .

 jQuery(document).ready(function(){ jQuery("#wp-submit").click(function(){ username=jQuery("#userName").val(); password=jQuery("#passWord").val(); jQuery.ajax({ type: "POST", url: "", data: "name="+username+"&pwd="+password, success: function(html){ if(html=='true') { jQuery("div#result").css('display', 'inline', 'important'); jQuery("div#result").html("Login Successful"); console.log('true'); } else{ jQuery("div#result").css('display', 'inline', 'important'); jQuery("div#result").html("Wrong username or password"); } } }); return false; }); }); 

e aqui está o código php no mesmo arquivo (header.php):

  get_results("select * from wp_users where user_email='".$uName."' and user_pass='".$pWord."'"); if(count($results)==1) { echo 'true'; } else { echo 'false'; } 

Não consigo enviar solicitação ao servidor, recebi um erro 404.

O que estou fazendo de errado?

Solutions Collecting From Web of "Como passar jQuery ajax URL value"

Ajax url deve ser configurado para wp-admin/admin-ajax.php pois os pedidos ajax devem ser tratados através do wp-admin/admin-ajax no wordpress. se ajaxurl não estiver definido, você pode obtê-lo definindo o atributo html data-url como data-url="< ?php echo get_admin_url().'admin-ajax.php'?>" .

 jQuery(document).ready(function($){ $("#wp-submit").on('click',function(e){ e.preventDefault(); username = $("#userName").val(); password = $("#passWord").val(); ajaxurl = $(this).data('url'); $.ajax({ type: "POST", url: ajaxurl, data : { name : username, password : password, action : 'check_user_login' }, success: function(response){ if(response =='true') { $("div#result").css('display', 'inline', 'important'); $("div#result").html("Login Successful"); console.log('true'); }else{ $("div#result").css('display', 'inline', 'important'); $("div#result").html("Wrong username or password"); } } }); }); }); 

Agora, crie sua function ajax como

 function user_login(){ //do your stuff here global $wpdb; $username=$_POST['name']; $password=$_POST['password']; $hash = md5($password); $query = $wpdb->prepare( "SELECT * FROM `wp_users` WHERE `user_email` = %s AND `user_pass` = %s", $username, $hash ); $result = $wpdb->get_results($query); if (count($result)==1) { echo 'true'; echo 'Login Successful'; exit(); } else if(count($result) < 1) { echo 'false'; exit(); } } 

Agora, a function ajax deve ser conectada para ligar wp_ajax_* e wp_ajax_nopriv_* . Aqui, * é o seu valor de ação, ou seja, data.action, portanto, torna-se

  add_action('wp_ajax_nopriv_check_user_login','user_login'); add_action('wp_ajax_check_user_login','user_login');