一 有form表单状况javascript
<script type="text/javascript"> var logFormObject=document.getElementById('logon'); function acceppt3(){ var xhr = creatXMLHttpRequest(); var fd = new FormData(logFormObject); xhr.onreadystatechange=function(){ if(xhr.readyState==4 && xhr.status==200){ var arr=xhr.responseText; console.log(arr); } } xhr.open('post','json2.php'); xhr.send(fd); } </script>
表单部分:php
<form action="form1" method="post" id="logon"> <input name="usr" type="text"/> <input name="pass"> </form>json2.php部分:
<?php echo $_POST['usr'],"|",$_POST['pass'];
在send方法中发送的应该是整个FormData对象 而不是getElementById得到元素节点对象。html
在url地址页面。中咱们使用POST数组,数组下表就是表单中的name属性值.
java
建立FormData对象, 若是有表单对象元素结点 经过dom操做得到的ajax
如 json
var xhr = creatXMLHttpRequest(); var fd = new FormData(logFormObject);
那 若是没有form元素的html页面 咱们是否发送form数据呢?数组
第二 没有form元素服务器
//得到元素结点对象 var xhr = document.getElementById("idname"); var fd = new FormData(logFormObject); fd.append('usrname','zhengdia'); fd.append('pass',1546875); 这就至关于在咱们的fd表单对象中放入了两个name 属性分别等于usrname和pass.
总结:app
1. 经过FormData给服务器传递数据dom
a) 经过form元素节点对象实现
b) 经过formData的方法append()实现数据整合