一切正常,将数据提交到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);

10-08 09:23