输入正确值时重新加载网页

时间:2017-08-29 21:17:59

标签: javascript php html ajax xmlhttprequest

我遇到了一个奇怪的问题。我创建了一个登录页面,它将数据发送到PHP页面,返回一些响应代码,如"00000",用于ok "404",因为找不到等等。我用Postman工具测试了我的服务器,发现服务器工作正常精细。当我的html发送数据到服务器服务器响应响应代码。如果响应代码出错,则html提醒它。 但是,如果我输入正确的凭据并且服务器成功响应,我的登录页面将无缘无故地重新加载。 这是我的javascript

function validatelog(){
var user_email_log=document.getElementById("user_email_log").value;
var user_pass_log=document.getElementById("user_pass_log").value;
if (user_email_log&&user_pass_log!=null)
{
            var hr = new XMLHttpRequest();
            var url = "../logic/login.php";
            var vars = 
"user_email_log="+user_email_log+"&user_pass_log="+user_pass_log;
            hr.open("POST", url, true);
            hr.setRequestHeader("Content-type", "application/x-www-form-
urlencoded");
            hr.onreadystatechange = function() {
            if(hr.readyState == 4 && hr.status == 200) {
                var saman = hr.responseText.trim();
                if(saman=="00000"){
                   alert(saman);
                }else if (saman == "404"){
                    alert("Failed with 404");
                }

                else{
                    alert(saman);
                }
                }
            }
            hr.send(vars);
        }
    }

我的html看起来像这样

<input id="user_email_log"/>
 <input id="user_pass_log"/>
 <button onclick="validatelog();">Log in</button>

2 个答案:

答案 0 :(得分:1)

type="button"添加到按钮:

<button type="button" onclick="validatelog();">Log in</button>

如果未指定,则与type="submit"相同,这将导致您的网页重新加载。

答案 1 :(得分:0)

如果你使用jquery,你可以这样做。

$(document).on('click', 'button', function(e) {
  e.preventDefault();
  $.get('url')
})

我认为页面正在重新加载,因为这是默认行为。