Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 输入正确值时重新加载网页_Javascript_Php_Html_Ajax_Xmlhttprequest - Fatal编程技术网

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

Javascript 输入正确值时重新加载网页,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

我遇到了一个奇怪的问题。我已经创建了一个登录页面,将数据发送到PHP页面,该页面返回一些响应代码,如00000 for ok 404 for not found等。我已经用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>
将type=按钮添加到按钮:

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

未指定时,它与type=submit相同,这将导致重新加载页面。

如果使用jquery,则可以执行此操作

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

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

别担心,这是会发生的^-^