Javascript 若类被实例化,PHP不会向ajax返回任何内容
首先,为标题感到抱歉,我不知道如何命名我面临的问题。我会尽力解释的。我有一个处理用户登录的php文件,如下所示:Javascript 若类被实例化,PHP不会向ajax返回任何内容,javascript,php,ajax,Javascript,Php,Ajax,首先,为标题感到抱歉,我不知道如何命名我面临的问题。我会尽力解释的。我有一个处理用户登录的php文件,如下所示: session_start(); if(isset($_POST['do_login'])) { require_once '../inc/mysql_connect.php'; $uname = $_POST['username']; $pass = $_POST['password']; $uname = strip_tags(mysqli_rea
session_start();
if(isset($_POST['do_login'])) {
require_once '../inc/mysql_connect.php';
$uname = $_POST['username'];
$pass = $_POST['password'];
$uname = strip_tags(mysqli_real_escape_string($con,trim($uname)));
$pass = strip_tags(mysqli_real_escape_string($con, trim($pass)));
$sql = "SELECT * from users where username='".$uname."'";
$select_data = mysqli_query($con,$sql)or die(mysqli_error());
if (mysqli_num_rows($select_data)>0) {
$row = mysqli_fetch_array($select_data);
$password_hash = $row['password'];
$token = $row['token'];
$email = $row['email'];
$email_verified = $row['email_verified'];
if (password_verify($pass,$password_hash)) {
if ($email_verified > 0) {
setcookie('token', $token, time()+31556926 , "/", "example.com", true, true);
echo "success";
} else {
echo "email_not_verified";
$_SESSION['email_not_verified'] = "true";
$_SESSION['username'] = $uname;
$_SESSION['email'] = $email;
$_SESSION['token'] = $token;
}
} else {
echo "fail";
}
exit();
}
}
我有一个js文件,它向该文件发送一个请求:
function do_login()
{
$("#btn-login").addClass('disabled');
var username=$("#emailid").val();
var pass=$("#password").val();
if(username!="" && pass!="") {
$.ajax({
type:'post',
url:'https://example.com/core/auth/do_login.php',
data:{
do_login:"do_login",
username:username,
password:pass
},
success: function (response) {
if (response =="success") {
$('#login').modal('hide');
window.location.href="https://example.com/account/";
} else if (response=="email_not_verified") {
window.location.href="https://example.com/login"
} else {
shakeModal();
$("#btn-login").removeClass('disabled');
}
}
});
}
return false;
}
但是,如果我实例化一个类,比如
$MyClass=newmyclass(),它就会工作代码>,PHP代码可以工作,但是Ajax成功:函数(响应){
没有被调用。您的代码可能失败,因此您的成功:
块永远不会被调用。
尝试将此添加到以下成功:阻止:
error: function(xhr, error){
console.log(xhr);
console.error(error);
}
我将其用作错误块的基础。您的代码可能会失败,因此您的成功:
块永远不会被调用。
尝试将此添加到以下成功:阻止:
error: function(xhr, error){
console.log(xhr);
console.error(error);
}
我将其用作错误块的基础。在何处以及如何“实例化一个类,如$MyClass=new MyClass();”?在顶部。我没有把它添加到代码中在什么的顶部?为什么?你想用这个类做什么?在我的登录文件的顶部。我试图从这个类调用一个方法。这并不重要,我只是不明白为什么ajax中的success函数停止工作了,所有其他的东西都工作得很好,php完全是executed->用户已登录,但没有在此处调用ajax成功函数中的代码以及如何“实例化一个类,如$MyClass=new MyClass();”?在顶部。我没有把它添加到代码中在什么的顶部?为什么?你想用这个类做什么?在我的登录文件的顶部。我试图从这个类调用一个方法。这并不重要,我只是不明白为什么ajax中的success函数停止工作了,所有其他的东西都工作得很好,php完全是executed->用户已登录,但没有调用ajax成功函数中的代码可能是因为我的类的构造函数为空?可能是因为我的类的构造函数为空吗?