2012-04-28 80 views
0

我想我做錯了我想要返回與PHP。我想要做的是檢查用戶名是否通過ajax支付。發送和返回數據與AJAX

PHP的,如果我這樣做,其作品本身:

$username = $_POST['username']; 

    function checkPlayer($player) { 
     $mcURL = 'http://www.minecraft.net/haspaid.jsp?user='; 
     $auth = file_get_contents($mcURL . $player); 

     if (trim($auth) == "true") { 
      echo $player. ' is '; 
     } else { 
      echo $player. ' is '; 
     } 

     return $auth; 
     } 

     echo checkPlayer($username); 

我想要做什麼,如果我改變$username值靜態的東西,像$username = "Notch";。但如果我用$_POST['username'],並使用以下JS:

$(document).on('keyup', 'input', function(){ 

     var inputVal = $('input').val(); 
     $.post('auth.php', inputVal, function(data){ 
      console.log(input.Val + ' is ' data); 
     }); 
     }); 

應在控制檯打印出來,如果我在「缺口」類型,true,如果別的東西像「fslfjslkfjls」應該是false。 HTML:

<form> 
    <input type="text" name="username" value="" class="authcheck"> 
    </form> 

我有什麼不對?

UPDATE: galchen的回答後,它(有點)現在的工作(不給錯誤)

var inputVal = $('input').val(); 
     $.post('auth.php', { 'username' : inputVal }, function(data){ 
      console.log(inputVal + ' is ' + data); 
     }); 

但現在一切輸入返回true,即使這不是真的。我怎樣才能解決這個問題?

回答

3

嘗試:

$.post('auth.php', { 'username' : inputVal }, function(data){ 
    console.log(input.Val + ' is ' data); 
}); 

你需要發送的對象在阿賈克斯 - 這是請求變量

+0

嗯,它的工作原理!但現在我輸入的所有內容都始終返回true。 – devs 2012-04-28 15:09:08

0

您可以使用此代碼與AJAX調用爲u預期的正常工作。

auth.php:

$username = $_POST['username']; 
    function checkPlayer($player) { 
    $mcURL = 'http://www.minecraft.net/haspaid.jsp?user='; 
    $auth = file_get_contents($mcURL . $player); 

    return $auth; 
    } 

    echo checkPlayer($username); 

以此爲你的HTML Ajax響應:

<html> 
    <head> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
    </head> 
    <body> 
    <form> 
    <input type="text" name="username" value="" class="authcheck"> 
    </form> 
<script type="text/javascript"> 
    $(document).on('keyup', 'input', function(){ 
     var inputVal = $('input').val(); 
     $.post('auth.php', { 'username' : inputVal }, function(data){ 
      console.log(inputVal +' is '+ data); 
     }); 
     }); 
    </script> 
    </body> 
</html> 

剛剛修改PHP的一部分,排除不必要的代碼,你可以用現在檢查您的控制檯以上的HTML文件,或者你可以在你的代碼中使用它。

希望你可以用上面的代碼檢查它。