2017-08-29 41 views
0

我遇到了一个奇怪的问题。我创建了一个登录页面,发送数据到PHP页面,返回一些响应代码,如"00000"好的"404"找不到等。我用邮递员工具测试了我的服务器,发现服务器工作正常。当我的html发送数据到服务器服务器响应代码。如果响应代码出错了,那么html alert就是了。 但是,如果我输入正确的凭证,并且服务器响应成功,我的登录页面将无故重新加载。 这里是我的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> 

回答

1

添加type="button"到按钮:

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

如果没有指定,它是一样的type="submit" ,这会导致你的页面重新加载。

+0

谢谢,这样的rookee错误值得一教:) :) – GeekWithGlasses

+0

不要担心,它会发生^ - ^ –

0

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

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

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

相关问题