var form = document.getElementById("form1");
var formData = new FormData(form);
创建 formData 对象之后,把该对象传递给 XMLHttpRequest 对象的 send() 方法即可。
xhr.send(formData);
使用 formData 对象的 append() 方法可以追加数据,这些数据将在向服务器端发送数据时随着用户在表单控件中输入的数据一起发送到服务器端。append() 方法用法如下:
formData.append('add_data','测试'); //在发送之前添加附加数据
append() 方法包含两个参数:第 1 个参数表示追加数据的键名,第 2 个参数表示追加数据的键值。当 formData 对象中包含附加数据时,服务器端将该数据的键名视为一个表单控件的 name 属性值,将该数据的键值视为该表单控件中的数据。
前台页面
<script> function sendForm(){ var form = document.getElementById("form1"); var formData = new FormData(form); formData.append('grade','3') var xhr = new XMLHttpRequest(); xhr.open('POST','test.PHP',true); xhr.onload = function(e){ if(this.status == 200){ document.getElementById("result").innerHTML = this.response; } }; xhr.send(formData); } </script> <form id="form1"> 用户名:<input type="text" name="name" /><br /> 密码:<input type="password" name="pass" /><br /> <input type="button" value="发送" onclick="sendForm()" /> </form> <output id="result"></output>
后台页面
<?PHP $name = $_POST['name']; $pass = $_POST['pass']; $grade = $_POST['grade']; echo '服务器端接收数据:<br />'; echo '用户名:'.$name.'<br />'; echo '密码:'.$pass.'<br />'; echo '等级:'.$grade.'<br />'; flush(); ?>演示效果如下:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。