这里的2表明结果输出了两次吗?

图片描述

结果栏目里面
左侧有个arra(3),前面有个数字2, 表明这个结果输出了两次吗?
右侧test.html:22也出现两次,请问,如何解释这个?

html很简单

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <form id="myForm" action="test.php" method="post">
    <input type="text" name="name">名字
    <input type="password" name="psw">密码
    <input type="text" name="test" value="check">
    <input type="button" id="submit" value="提交">
    </form>
    <script>
    function sendData(){
    console.log("haha");
    var form = document.getElementById("myForm");
    var formData = new FormData(form);
    var xmlHttp = new XMLHttpRequest();
    xmlHttp.open("post", "test.php",true); 
    xmlHttp.send(formData); 
    xmlHttp.onreadystatechange =  function(){ console.log(xmlHttp.responseText)};
    }

    ob = document.getElementById("submit");
    ob.addEventListener("click",sendData);

    </script>
</form>
</body>
</html>

php更简单
<?php
var_dump($_POST);
?>

阅读 1.4k
2 个回答

触发了3次,readyState分别是:
2: 请求已接收
3: 请求处理中
4: 请求已完成,且响应已就绪

是的,这里的 2 表示这 两次连续输出一模一样的内容.
像下面这个就是连续输出了 50 次 1

for(i=0;i<50;i++){console.log(1)}

图片描述

至于test.html:22连续输出了两次
说明test.html:22实际上总共输出了三次
第一次输出空,出现一次
然后第二次输出数组跟第一次输出不一样,单独显示
第三次输出跟第二次一模一样的数组,所以直接在前面显示 2 而没有把第三次做单独输出.

像下面这样的,第一次输出空,第二次和第三次输出一样.
图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题