【发布时间】:2021-12-31 07:36:06
【问题描述】:
我正在学习如何使用 ajax 来检查系统中是否已经存在注册的电子邮件数据。但是在使用时,success:function(data)返回的结果始终是原始php页面的源代码(如下图所示)。 这是我的javascript代码
$(document).ready(function(){
$("#email").change(function(){
$.ajax({
URL: "process-email.php",
type: "post",
data: {email:$(this).val()},
success:function(res) {
console.log(res);
}
})
})
})
这是数据处理的目的地
<?php
include "config/config.php";
$result = mysqli_query($conn,"SELECT * FROM tb_user WHERE email='" . $_POST['email'] . "'");
if(mysqli_num_rows($result) <= 0)
{
echo "OK.";
}else{
echo "Already exist.";
}
?>
这是发送到我的主站点的数据
有什么办法可以解决吗?谢谢大家!
【问题讨论】:
-
您的代码很容易受到SQL Injection 攻击,因为在 sql 中直接使用了用户提供的原始数据。为了帮助减轻这种威胁,您应该始终使用Prepared Statements。一个非常有用的指南,有大量的示例代码是PHP Delusions
-
是的,但我只是想看看 ajax 是如何工作的。我仍在努力解决这个错误
-
您是否将 ajax 请求发送到同一页面?
-
我已经把ajax请求移到了同一个页面,我仔细看了。但是还是报错
-
如果发送 ajax 的 javascript 与处理 HTTP 请求的 PHP 在同一页面内,那么您需要在发送输出之前刷新缓冲区,否则响应将包含该页面中的所有 HTML似乎正在发生的事情
标签: javascript php ajax