jQuery的$ .post只返回一个空白数据

时间:2016-05-01 04:15:20

标签: javascript php jquery ajax post

我正在尝试使用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

的回调函数

1 个答案:

答案 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);
});