利用ajax调用php查询数据库为什么返回data值为php整个文件的字符串

想利用ajax验证用户名在数据库中有无重复,但是ajax调用php后返回data为整个php文件的字符串。
求解
ajax部分:

 $("#username").blur(function () {
        // 取用户名
        var u = $("#username").val();//取输入的用户名
        alert(u);
        //调ajax
        $.ajax({
            url: "checkName.php",
            data: {u: u},//第二个u只是变量,可以随意写,checkName.php里面的u是第一个。
            type: "POST",
            dataType: "TEXT",
            success: function (data) {
                if (data.trim() == "OK")//要加上去空格,防止内容里面有空格引起错误。
                {
                    alert("该用户存在");
                    //window.location.href = "main.php";//js跳转页面,要记住。
                }
                else if(data.trim() == "NO")
                {
                    alert("该用户不存在");
                    //echo("用户名不存在,重新输入用户名或者注册");
                }
                else
                    alert("数据库调用错误"+data);

            }
            });
    });
});

php部分:

<?php
    $uid = $_POST["u"];
    $con = mysql_connect("localhost","root","123");
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }

    mysql_select_db("mywebbase", $con);

    $result = mysql_query("SELECT * FROM web");

    if (mysql_field_len($result) > 0)
    {
        // 输出数据
        echo "OK"
    }
    else
    {
        echo "NO";
    }

    mysql_close($con);
?>

4个回答

返回形式是best64位的流吗?如果不是,肯能要用json转一下,在或者是接受类型有问题,可以从这几个角度去分析

qq_40096133
等等我牙疼 您好,我在命令行里试了这句是对的
一年多之前 回复
qq_34730277
南宫文凯 $result = mysql_query("SELECT * FROM web");由这句话可以得出,要不是你的数据库数据就是有问题的,要不你把查询出来的结果输出看一下,
一年多之前 回复
qq_34730277
南宫文凯 返回的具体参数是啥
一年多之前 回复
qq_40096133
等等我牙疼 您好,回复的就是字符串形式的php源码
一年多之前 回复

怎么说呢;一般返回数字好点吧,比如1或者0;返回了php整个文件的字符串?不会的哦,除非你文件报错了,你可在浏览器f12再点击network再点请求一次数据看看返回什么;还有会不会是你echo没终止代码如die呢?

qq_40096133
等等我牙疼 嗯 谢谢 我再去看看
一年多之前 回复

一般前端ajax请求 都是用的json数据格式,你用的是TEXT?? 后端可以用$this->ajaxReturn 返回

qq_40096133
等等我牙疼 嗯 谢谢 我试试
一年多之前 回复

请求中dataType用json不要用text

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问