嗨,我是编程新手,您能告诉我我做错了什么吗?我的ajax成功功能无法正常工作。但是它将数据插入数据库。我不知道为什么会这样。
我编辑了一些内容,但仍无法正常工作
这是我的myjs.js
closing )
$CMD_POS open0stat
status=$(cat /opt/cpu/hold/strstat)
if [[ "${status}" = "C " ]]; then
log "Precheck Closing:\tALLOWED\tStore Status '${status}'"
return
else
err "Precheck Closing:\tDENIED\tStore Status '${status}'"
fi
;;
我的insert.php
$(document).ready(function() {
$(document).on("click", ":submit", function(e){
var url;
var username = $('#username').val();
var password = $('#password').val();
if($(this).val() == 'Log in'){
url = 'login.php';
}else if($(this).val() == 'Register'){
url = 'insert.php';
}
if(/^[^\s@]+$/.test(username) && /^[^\s@]+$/.test(password)){
$.ajax({
url: url,
type: "POST",
data: {
username: username,
password: password
},
cache: false,
//EDIT
success: function(dataResult){
var dataResult = JSON.parse(dataResult);
if(dataResult.statusCode==200){
alert('yesss');
}
else if(dataResult.statusCode==201){
alert("Error occured !");
}
}
});
} else {
alert('no');
}
});
});
答案 0 :(得分:1)
为了使您在成功函数中获得“成功”,您必须从PHP中回显某些内容:
include 'db.php';
$username=$_POST['username'];
$password=$_POST['password'];
$query =mysqli_query($con, "INSERT INTO `accounts`(`username`, `password`)
VALUES ('$username','$password')");
echo "something";
mysqli_close($con);
您将需要修改PHP,以便获得有意义的消息。
警告!
Little Bobby说 your script is at risk for SQL Injection Attacks. 了解有关prepared的MySQLi语句。甚至escaping the string都不安全!
从不存储纯文本密码!!请使用 PHP的built-in functions 来处理密码安全性。如果您使用的PHP版本低于5.5,则可以使用password_hash()
compatibility pack。 在散列之前,无需escape passwords 或对它们使用任何其他清除机制。这样做更改密码并导致不必要的附加编码。