<html>
<head>
<title>XHR数据发送到后台</title>
</head>
<body>
<form action="index.php" method="post" onsubmit="return test()">
姓名:<input type="text" name="username"/><br />
年龄:<input type="text" name="age"/><br />
身高:<input type="text" name="sengao"/><br />
<input type="submit" />
</form>
<!--
后台$_POST后,会得到一个一维数组,数组单元就是由form表单数据组成的。
-->
<div></div>
<script type="text/javascript">
function test(){
//获取dom节点
var fm = document.getElementsByTagName('form')[0]
//利用HTML5 FormData对象获取表单数据
//并把DOM表单对象作为参数传给FormData
var fD = new FormData(fm)
//可以追加数据
fD.append('xuexing','A')
//创建XML请求
var xhr = new XMLHttpRequest()
//打开链接,异步请求
xhr.open('POST','index.php',true)
//发送表单数据
xhr.send(fD)
//事件响应
xhr.onreadystatechange = function (){
//接受到后台返回数据时,写入到div文本节点内
if(this.readyState == 4){
document.getElementsByTagName('div')[0].innerHTML = this.responseText
}
}
return false
}
</script>
</body>
</html>
js传的话参数不能是数组吧,url中get方式是不能传数组的。有几种方法一是你把数组转成字符串,然后在后台java中取到再转成数组,这个难度比较大
而是用ajax,这个好办一点
其他的还没有想到