我遇到了一个奇怪的问题。我创建了一个登录页面,它将数据发送到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>
答案 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')
})
我认为页面正在重新加载,因为这是默认行为。