一 有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()實現數據整合