一个js 数组怎么传到后台

JavaScript021

一个js 数组怎么传到后台,第1张

<!DOCTYPE html>  

<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,这个好办一点

其他的还没有想到