Javascript echo不适用于不使用';不要刷新页面

Javascript echo不适用于不使用';不要刷新页面,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我试图实现一个简单的javascript程序,在这个程序中,我对php脚本进行ajax调用。我确保页面不会自行刷新。因此,现在如果我在php中使用echo函数,那么它就无法工作 $("#check").on('click',function(){ //alert("hello"); var user_name=document.getElementById("user_name").value; var pwd=document.getEl

我试图实现一个简单的javascript程序,在这个程序中,我对php脚本进行ajax调用。我确保页面不会自行刷新。因此,现在如果我在php中使用echo函数,那么它就无法工作

    $("#check").on('click',function(){
        //alert("hello");
        var user_name=document.getElementById("user_name").value;
        var pwd=document.getElementById("pwd").value;

        $.ajax({
            url:'checkUser.php',
            type:'POST',
            data:{
                user_name:user_name,
                pwd:pwd
            },
            success:function(){
                alert("hello"); //This section works fine so the php file is getting called
            }
        });

return false;

})
checkUser.php

<?php require 'database.php';
if($conn->connect_error){
    die("Connection failed: " . $conn->connect_error);
}
//Database is getting connected properly
$user_name=$_POST['user_name'];
$password=$_POST['pwd'];
echo("<script>console.log('PHP:');</script>"); //not getting displayed on console
$sql="Select * from login where User_name='$user_name' and Password='$password'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
echo $count; //not getting displayed on console
 ?>

您将在“成功”回调中收到服务器响应


您将在“成功”回调中收到服务器响应


php文件中的
echo
命令基本上将值返回给jQuery的ajax函数。但是你没有正确地处理响应

如何正确使用它?

向$.ajax函数的成功事件添加一个参数。 此参数保存php文件返回的值

    $.ajax({
                url:'checkUser.php',
                type:'POST',
                data:{
                    user_name:user_name,
                    pwd:pwd
                },
                success:function(data){
console.log(data);
                }
            });
在php文件中:

echo "PHP:';

php文件中的
echo
命令基本上将值返回给jQuery的ajax函数。但是你没有正确地处理响应

如何正确使用它?

向$.ajax函数的成功事件添加一个参数。 此参数保存php文件返回的值

    $.ajax({
                url:'checkUser.php',
                type:'POST',
                data:{
                    user_name:user_name,
                    pwd:pwd
                },
                success:function(data){
console.log(data);
                }
            });
在php文件中:

echo "PHP:';

所以你想用echo,没关系。但您需要了解的是,它只是将文本输出到一个只由ajax读取的请求,在您的ajax.success()函数中,您需要将它读取的字符串附加到用户看到的DOM中:

$.ajax({
        url:'checkUser.php',
        type:'POST',
        data:{
            user_name:user_name,
            pwd:pwd
        },
        success:function(data){
            console.log('data');
            alert("hello"); //This section works fine so the php file is getting called
        }
    });
还请记住,您背对背地回应了两件事情,因此ajax将看到如下内容:

<script>console.log('PHP:');</script>15
console.log('PHP:');15
其中15是您的
$count


如何将其拆分以进行正确的日志记录取决于您,大多数人使用json字符串。

所以您希望使用echo,这很好。但您需要了解的是,它只是将文本输出到一个只由ajax读取的请求,在您的ajax.success()函数中,您需要将它读取的字符串附加到用户看到的DOM中:

$.ajax({
        url:'checkUser.php',
        type:'POST',
        data:{
            user_name:user_name,
            pwd:pwd
        },
        success:function(data){
            console.log('data');
            alert("hello"); //This section works fine so the php file is getting called
        }
    });
还请记住,您背对背地回应了两件事情,因此ajax将看到如下内容:

<script>console.log('PHP:');</script>15
console.log('PHP:');15
其中15是您的
$count


如何将其拆分以进行正确的日志记录取决于您,大多数人使用json字符串。

您没有通过success()函数传递结果。您必须显示页面中的响应结果。您可以通过执行以下操作来完成此操作:

    $("#check").on('click',function(){
        //alert("hello");
        var user_name=document.getElementById("user_name").value;
        var pwd=document.getElementById("pwd").value;

        $.ajax({
            url:'checkUser.php',
            type:'POST',
            data:{
                user_name:user_name,
                pwd:pwd
            },
            success:function(data){
                alert(data); //data will contain the echo value
            }
        });

return false;

})


“data”变量将始终包含打印在页面上的响应,包括错误,因此如果将其用作验证,请确保将其考虑在内。

您没有通过success()函数传递结果。您必须显示页面中的响应结果。您可以通过执行以下操作来完成此操作:

    $("#check").on('click',function(){
        //alert("hello");
        var user_name=document.getElementById("user_name").value;
        var pwd=document.getElementById("pwd").value;

        $.ajax({
            url:'checkUser.php',
            type:'POST',
            data:{
                user_name:user_name,
                pwd:pwd
            },
            success:function(data){
                alert(data); //data will contain the echo value
            }
        });

return false;

})


“data”变量将始终包含打印在页面上的响应,包括错误,因此如果将其用作验证,请确保将其考虑在内。

您的代码容易受到攻击。您应该使用或准备带有绑定参数的语句,如中所述。停止使用
mysql.*
函数。自v5.5版(2013年6月)起,它们就被弃用,自v7.0版(2015年12月)起被删除。与和一起使用or函数。切勿存储纯文本密码。您应该使用和。如果您使用的是5.5之前的PHP版本,请不要使用MD5或SHA1散列密码。相反,你可以使用。呜,在一篇文章中使用我所有的宣传语<代码>控制台.log('PHP:')作为字符串发送回浏览器。
$count也返回到同一个字符串中,您没有对返回值执行任何操作。您的代码易受攻击。您应该使用或准备带有绑定参数的语句,如中所述。停止使用
mysql.*
函数。自v5.5版(2013年6月)起,它们就被弃用,自v7.0版(2015年12月)起被删除。与和一起使用or函数。切勿存储纯文本密码。您应该使用和。如果您使用的是5.5之前的PHP版本,请不要使用MD5或SHA1散列密码。相反,你可以使用。呜,在一篇文章中使用我所有的宣传语<代码>控制台.log('PHP:')作为字符串发送回浏览器。
$count
也返回到相同的字符串中,您没有对返回值执行任何操作。