<script>
$(function () {
var input_username = $('#input_username');
var span_result = $('#span_result');
input_username.blur(function () {
var username = input_username.val();
if(username == ""){
return;
}
$.ajax(
{
url:'/check',
data:{'username':username,'type':'hasuser'},
type:'post',
dataType:'json',
async:'true',
success:function (data,status,xhr) {
console.log('成功获取服务器响应');
console.log(data);
console.log(status)
var msg = data.msg;
if(msg=="ok"){
span_result.text("该用户名可以使用");
span_result.css("color","blue");
}else{
span_result.text("该用户名已被占用");
span_result.css("color","red");
}
},
error:function (xhr,status,error) {
console.log('获取服务器响应失败');
console.log(error);
console.log(status)
}
}
);
});
});
</script>
后台的获取是和平时获取方式一样,是post就用post方式获取,是get就用get方式获取。最后返回的时候以json格式返回。
class CheckHandler(MyRequestHandler):
def get(self, *args, **kwargs):
pass
def post(self, *args, **kwargs):
# hasuser findavatar
type = self.get_body_argument('type')
username = self.get_body_argument('username',None)
print('获取到的username:----->',username)
if type=='hasuser':
#利用dbutil去根据username查询
#tb_user表中是否已有该用户名
if self.application.dbutil.hasUser(username):
result = dict(msg='no_ok')
else:
result = dict(msg='ok')
self.write(result)
#查询头像
if type=='findavatar':
avatarname = self.application.dbutil.findAvatar(username)
if avatarname:
result = dict(msg=avatarname)
else:
result = dict(msg="default_avatar.png")
self.write(result)