我是ajax和php的新手。但是,我尝试使用ajax插入查询,并且始终显示错误。这是我的index.php
<form onsubmit="return score.add();">
<input type="text" id="user_id" name="user_id" value="<?=$accnt['user_id']?>"/>
<input type="text" id="bet_input" name="bet_input" value="100" required/>
<input type="submit" value="save"/>
</form>
<?php
switch ($_POST['req']) {
case "score-add":
echo $gameDB->addScore($_POST['bet_input'], $_POST['user_id']) ? "OK" : "ERR" ;
break;
}
?>
这是我的JavaScript
<script >
var admin = {
ajax: function (opt) {
// admin.ajax() : do AJAX call
// PARAM opt : options
// DATA
var data = new FormData();
for (var key in opt.data) {
data.append(key, opt.data[key]);
}
// AJAX
var xhr = new XMLHttpRequest();
xhr.open('POST', "index.php", true);
xhr.onload = function () {
if (typeof opt.load=="function") {
opt.load(this.response);
}
};
xhr.send(data);
}
};
var score = {
add : function() {
admin.ajax({
data : {
req : "score-add",
bet_input : document.getElementById("bet_input").value,
user_id : document.getElementById("user_id").value
},
load : function (res) {
if (res=="OK") {
alert("sss");
}
else { alert("xhr"); }
}
});
return false;
}
};
</script>
这是我的功能
function addScore($bet_input,$user_id) {
$sql = "UPDATE `users` SET `bet_input` =? where `user_id` =?";
$cond = [$bet_input, $user_id];
return $this->exec($sql, $cond);
}
对不起,我英语不好。 TIA。另外,我想在执行ajax时添加一些错误消息,这可能吗?