我认为我做错了因为我想用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,即使它不是真的。我该如何解决这个问题?
答案 0 :(得分:3)
尝试:
$.post('auth.php', { 'username' : inputVal }, function(data){
console.log(input.Val + ' is ' data);
});
你需要在ajax中发送对象 - 它是请求变量的字典
答案 1 :(得分:0)
你也可以使用: .serialize()
$.post('auth.php', { $("form").serialize() }, function(data){
console.log(input.Val + ' is ' data);
});
答案 2 :(得分:0)
您可以使用此代码,与您期望的ajax调用一起使用。
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);
将此作为ajax响应的html:
<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文件检查您的控制台,或者您可以在代码中使用它。
希望您可以使用上面的代码进行检查。