将结果从pdo发送到ajax时遇到问题

我想要做的是,如果用户成功注册pdo将提供信息并将其发送到ajax,并且如果用户已注册,则ajax将发送消息。 我把这个条件放在我的pdo中后工作正常,现在它不再插入,ajax告诉“错误注册用户!” 每时每刻。

脚本:

 $(document).ready(function() { $('#submit').click(function (e) { e.preventDefault(); var data = {}; data.name = $('#name').val(); data.age = $('#age').val(); data.gender = $('#gender').val(); data.address = $('#address').val(); data.image = $('#imgInp').val(); $.ajax({ type: "POST", url: "user.php", data: data, cache: false, success: function (response) { if (Number(response) == 1) { alert("User successfully registered"); } else { alert("Error registering user!"); } } }); return false; }); });  

user.php的:

 setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $name = @$_POST['name']; $age = @$_POST['age']; $address = @$_POST['address']; $gender = @$_POST['gender']; $imageName = @$_FILES['image']['name']; $q = "INSERT INTO students(name, age, address, gender, imageName ) VALUES(:name, :age, :address, :gender, :image)"; $query = $dbc->prepare($q); $query->bindParam(':name', $name); $query->bindParam(':age', $age); $query->bindParam(':address', $address); $query->bindParam(':gender', $gender); $query->bindParam(':image', $imageName); $results = $query->execute(); $results ? echo "1"; : echo "2"; ; ?> 

看来你有错误:

 $results ? echo "1"; : echo "2"; ; 

你的演示

试试这样:

 echo $results ? "1" : "2"; 

工作演示

你可以在这里看到一个教程。