我正在尝试使用jQuery' $ .post检查数据库中用户名的可用性。 我不知道路径是错误的还是php脚本是错误的,但它仍然会返回数据的空白或null。那是为什么?
JS文件:
$(document).ready(function(){
$("#signup_username").bind("keyup blur",function(){
$("#loading_img_username").show();
var prompt_username = $("#signup_username").val();
if(prompt_username != ''){
$.post('php/check.php', {username: prompt_username} , function(data){
$("#signup_username_status").html(data);
$("#loading_img_username").hide();
}).error(function(){
$("#loading_img_username").hide();
$("#signup_username_status").html("<span style='color:#cc2000;'><i class='glyphicon glyphicon-remove'></i> Cannot verify username availability.</span>");
});
} else{
$("#signup_username_status").html("<span style='color:gold;'><i class='glyphicon glyphicon-info-sign'></i> Provide your username.</span>");
$("#loading_img_username").hide();
}
});
});
PHP文件:
<?php
$user = $_POST['username'];
echo $user;
我知道无论你在输入字段提示什么:
#signup_username将作为数据传递给$ .post
的回调函数
答案 0 :(得分:0)
建议1:
jQuery他的post函数使用数据类型来接收信息,此时你正在使用数据类型“text”。我应该使用XML或JSON,因为这样可以更清楚地读出来。
$.post('url', {username: prompt_username}, function( data ) {
$("#signup_username_status").html(data.username);
$("#loading_img_username").hide();
}, 'JSON');
如果你这样做,你需要用PHP编码数据:
$user = $_POST['username'];
die(json_encode(array('username'=>$user)));
建议2:
你的jQuery帖子请求不起作用吗?使用.error函数调试它,如果你知道如何使用它有点方便!以下是如何排除错误的示例:
$.post('url', {username: prompt_username}, function( data ) {
$("#signup_username_status").html(data.username);
$("#loading_img_username").hide();
}, 'JSON').error(function( a,b,c ) {
console.log(a,b,c);
});