我正在尝试从表中执行一个简单的AJAX请求,但是当我转换为var时,结果会以未定义的形式返回?
这是JS:
function showUser(str) {
if (str=="") {
document.getElementById("txtHint").innerHTML="";
return;
}
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("GET","actions/teamData.php?q="+str,true);
xmlhttp.send();
}
我创建了一个严格针对ID 1选择的表单,因为当尝试使用Php动态执行此操作时,它正在执行相同操作,所以我将其设置为1以确保现在:
<option value="1">' . $row['name'] . '</option>
这是执行请求的php:
$q = intval($_GET['q']);
var_dump($_GET);
$sql = "SELECT * FROM team WHERE id = ' " . $q . " ' ";
$result = mysqli_query($conn,$sql);
echo "<table>
<tr>
<th>Team name</th>
</tr>";
while($row = mysqli_fetch_array($result)) {
echo "<tr>";
echo "<td>" . $row['name'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysqli_close($conn);
我有一个经过测试的有效连接。但结果又回来了:
array(1) { ["q"]=> string(9) "undefined" }
答案 0 :(得分:3)
array(1) { ["q"]=> string(9) "undefined" }
你得到它是因为javascript变量&#34; str&#34;未定义。只需检查并发送有效身份证即可。
开始以下一种方式写你的功能:
function send_xhr(str) {
str = str || '';
if ( !str ) { // str is empty
// Do something
}
// str is not empty
}