Javascript 输入正确值时重新加载网页
我遇到了一个奇怪的问题。我已经创建了一个登录页面,将数据发送到PHP页面,该页面返回一些响应代码,如00000 for ok 404 for not found等。我已经用Postman工具测试了我的服务器,发现服务器工作得非常好。当我的html向服务器发送数据时,服务器用响应代码响应。如果响应代码出现错误,html警报就会出现。然而,若我输入了正确的凭据,并且当服务器成功响应时,我的登录页面会无缘无故地重新加载。 这是我的javascriptJavascript 输入正确值时重新加载网页,javascript,php,html,ajax,xmlhttprequest,Javascript,Php,Html,Ajax,Xmlhttprequest,我遇到了一个奇怪的问题。我已经创建了一个登录页面,将数据发送到PHP页面,该页面返回一些响应代码,如00000 for ok 404 for not found等。我已经用Postman工具测试了我的服务器,发现服务器工作得非常好。当我的html向服务器发送数据时,服务器用响应代码响应。如果响应代码出现错误,html警报就会出现。然而,若我输入了正确的凭据,并且当服务器成功响应时,我的登录页面会无缘无故地重新加载。 这是我的javascript function validatelog(){ v
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>
将type=按钮添加到按钮:
<button type="button" onclick="validatelog();">Log in</button>
未指定时,它与type=submit相同,这将导致重新加载页面。如果使用jquery,则可以执行此操作
$(document).on('click', 'button', function(e) {
e.preventDefault();
$.get('url')
})
我认为页面正在重新加载,因为这是默认行为。别担心,这是会发生的^-^