2015-04-08 57 views
0

我有這個網站領域

<input type='text' name='newusername' value='' class='input-required' id='username'>

,這是我的PHP代碼在我function.php

add_action('wp_ajax_checkUsernameExistentVal', 'checkUsernameExistentVal'); 
add_action('wp_ajax_nopriv_checkUsernameExistentVal', 'checkUsernameExistentVal'); 
function checkUsernameExistentVal(){ 
    $username = $_POST['newusername']; // it alwas null? 
    // $username = 'existedusuer'; // works fine 
    $val = checkCOntactUsernameExist($username); 

    if ($val){ 
     $usernname_val= 'false'; 
    }else{ 
     $usernname_val = 'true'; 
    } 
    // I concatenate `$username` to check if it has a value but it is always null? 
    echo json_encode(array("validation" => $usernname_val.'-'.$val.'-'.$username)); 
    wp_die(); 

} 

,這是我scipt.js

jQuery('#username').blur(function() { 
     jQuery.ajax(
     { 
      url: ajax_url, 
      type: "POST", 
      dataType: "json", 
      data: { 
       action: 'checkUsernameExistentVal', 
       email: jQuery(this).val(), 
      }, 
      async: false, 
      success: function (data) 
      { 
       alert(data + ' | '+ data.validation); 
       // data.validation value is always 'true--'?? 

      }, 

     }); 

    }); 

我不知道爲什麼在我function.php$_POST['newusername']功能總是空..你有這個想法?似乎我的其他代碼正在工作,但這不是...

+1

其中是jQuery中的newusername的值? – MrTechie

+0

我的錯誤哈​​哈謝謝MrTechie – gadss

+0

也許嘗試改變你的輸入文本字段的ID爲'newusername'。在阿賈克斯你的傳遞ID不是字段的名稱。 – TBridges

回答

0

您錯過了函數中的參數。您需要提供發佈到該函數的變量。

function checkUsernameExistentVal($usernameParam)

1

您在數據上的jQuery電子郵件傳遞,這樣的變量,你應該傳遞。 因爲您傳遞的是email.But中的值,在$ _POST ['username']中獲取值。所以在那個變量值爲null。
$ username = $ _POST ['電子郵件'];