这是代码
<html>
<head>
</head>
<body>
<form method="get" >
<input type="text" id="jk" name="jk" />
<br />
<input type="text" id="jk2" name="jk" />
<br />
<input type="text" id="jk3" name="jk3" style="width:100%; height:200px;" />
<br />
<input type="button" id="btn" name="btn" value="submit" onClick="showvalue()" />
</form>
</body>
</html>
这是我的java脚本
function showvalue() {
var a=document.getElementById("jk").value;
var b =document.getElementById("jk2").value;
var arr = new Array(a,b);
var xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("jk3").value=xmlhttp.responseText;
}
}
xmlhttp.open("GET","testphp.php?q="+arr,true);
xmlhttp.send();
}
这是我的testphp文件
<?php
$arr = array();
$arr = $_REQUEST["q"];
echo $arr[0];
?>
当我使用此代码结果不正确时。我需要显示发送的数组元素。我怎么能这样做?
答案 0 :(得分:3)
修改以下行
使用Javascript:
xmlhttp.open("GET","testphp.php?q="+arr,true)
to
xmlhttp.open("GET","testphp.php?q="+ JSON.stringify(arr),true);
PHP:
$arr = $_REQUEST["q"];
to
$arr = $_REQUEST["q"];
$arr = json_decode($arr);
干杯
答案 1 :(得分:0)
你不能像你尝试过的那样在JS中连接数组和字符串。 您可以使用循环创建查询字符串,然后将其添加到URL:
var query = '';
for (var i = 0; i < arr.length; i++) {
if (i > 0) {
query += '&';
} // if
query += 'q[' + i + ']=' + arr[i];
} // for
var url = 'testphp.php?' + query;