我想我做错了我想要用 PHP 返回的东西。我要做的是检查用户名是否通过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);
});
});
如果我输入 'Notch', 应该在控制台中打印出来true
,如果像 'fslfjslkfjls' 之类的其他东西应该是false
. HTML:
<form>
<input type="text" name="username" value="" class="authcheck">
</form>
我有什么问题?
更新:在 galchen 的回答之后,它(有点)现在可以工作(不给出错误)
var inputVal = $('input').val();
$.post('auth.php', { 'username' : inputVal }, function(data){
console.log(inputVal + ' is ' + data);
});
但是现在输入的所有内容都返回 true,即使它不是 true。我怎样才能解决这个问题?