这是代码
<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();
}
这是我的测试PHP文件
<?php
$arr = array();
$arr = $_REQUEST["q"];
echo $arr[0];
?>
当我使用此代码时,结果不正确。我需要显示发送的数组一个元素。我该怎么做?
按如下方式修改行
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);
干杯
你不能像你尝试的那样在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;