2012-04-28 79 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文件,或者你可以在你的代码中使用它。

希望你可以用上面的代码检查它。