一切正常,将数据提交到url,然后将数据很好地放入数据库。我唯一的问题是下面的代码在我的index.php页面上,它将数据提交到submitusername.php页面,并且一切正常,但是在将数据提交到submitusername页面之后,URL变成了“ /index.php” “ username = blahblahblah”这不是主要问题,但这是我想学习的解决方法/原因。
function submitUsername(){
var submitData = new XMLHttpRequest();
var username = document.getElementById('username').value;
submitData.onreadystatechange = function() {
if(submitData.readyState == 4 && submitData.status == 200) {
callback(submitData.responseText);
}
},
submitData.open("GET", "submitusername.php?username="+encodeURIComponent(username), true);
submitData.send();
}
最佳答案
您提供的代码中的任何内容都不会影响您所描述的效果。
听起来您好像在尝试提交表单时尝试触发JavaScript,但是表单正在正常提交并加载新页面。
您需要防止表单提交的默认行为。
更改事件处理程序函数以捕获Event对象并阻止默认行为,然后确保正确绑定了事件处理程序。
function submitUsername(evt){
evt.preventDefault
var submitData = new XMLHttpRequest();
和
document.getElementById('myform').addEventListener('submit', submitUsername);