我遵循了w3schools上的指南,但是当我从下拉菜单中选择用户时,我无法使脚本返回所需的数据。我刚得到未定义的索引:userdrop 这是脚本(用POST更改了GET,也许这就是我搞砸了)
<script>
function UserInfo(str) {
if (str == "") {
document.getElementById("txtHint").innerHTML = "";
return;
} else {
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("txtHint").innerHTML = this.responseText;
}
};
xmlhttp.open("POST","testing.php",true);
xmlhttp.send();
}
}
</script>
下拉菜单:
<form>
<select name="userdrop" onchange="UserInfo(this.value)">
<option value="">Select a person:</option>
<option value="1">Peter Griffin</option>
<option value="2">Lois Griffin</option>
<option value="3">Joseph Swanson</option>
<option value="4">Glenn Quagmire</option>
</select>
</form>
<br>
<div id="txtHint"><b>Person info will be listed here...</b></div>
以及由于未定义索引而无法为我提供任何结果的php代码
$row = $MMM->Users(intval($_POST['userdrop']));
echo "<table>
<tr>
<th>ID</th>
<th>Name</th>
<th>City</th>
</tr>
<tr>
<td>".$row['user_id']."</td>
<td>".$row['user_name']."</td>
<td>".$row['user_city']."</td>
</tr>
</table>
";
答案 0 :(得分:0)
function UserInfo(str) { //method starts with str as an argument
var string = str; //str is assigned to string.
var http = new XMLHttpRequest(); // create new HttpRequest instance
var url = "testing.php"; //the script to call to post data
var params = 'id=string';
http.open("POST", url, true);
//Send the proper header information along with the request
http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
// Call a function when the state changes.
http.onreadystatechange = function() {
if(http.readyState == 4 && http.status == 200) {
alert(http.responseText);
}
}
http.send(params);
}