Javascript echo不适用于不使用';不要刷新页面
我试图实现一个简单的javascript程序,在这个程序中,我对php脚本进行ajax调用。我确保页面不会自行刷新。因此,现在如果我在php中使用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
$("#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
也返回到相同的字符串中,您没有对返回值执行任何操作。