gpt4 book ai didi

javascript - Ajax Mysql 查询

转载 作者:行者123 更新时间:2023-11-29 12:58:29 27 4
gpt4 key购买 nike

我可能是个彻头彻尾的白痴,没有看到这里的大局。我正在尝试编写一个 ajax 小东西,它可以从数据库中提取信息,但我似乎无法让事情继续下去......请告诉我我做错了什么。

我按照几个在线教程将代码组合在一起,但我不是 ajax 天才。我的 Ajax 技能可能会引发下一次世界大战。

这是我的代码。如果我错过了一些小事,请随时告诉我我是个白痴。

     <html>
<head>
<script>
function showDetail(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 (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","process.php?q="+str,true);
xmlhttp.send();
}
</script>
</head>
<body>

<form>
Wallet Number : <input type="text" name="wallet01" id="wallet01" />
<br />
<input type="submit" id="submit" name="submit" onsubmit="showDetail(wallet01)">


</form>
<br>
<div id="txtHint"><b>Kit info will be listed here.</b></div>

</body>
</html>

这是我的 php

<?php
$q = $_GET['q'];

$con = mysqli_connect('10.1.75.131','markdv','qwerty123','MTNAutomation');
if (!$con) {
die('Could not connect: ' . mysqli_error($con));
}

mysqli_select_db($con,"MTNAutomation");
$sql="SELECT serialNumber FROM Kit_T WHERE serialNumber = '$q'";
$result = mysqli_query($con,$sql);

echo "<table border='1'>
<tr>
<th>Wallet Number</th>
</tr>";

while($row = mysqli_fetch_array($result)) {
echo "<tr>";
echo "<td>" . $row['serialNumber'] . "</td>";

echo "</tr>";
}
echo "</table>";

mysqli_close($con);
?>

最佳答案

您的 HTML 中有错误。您输入了“onsubmit="showDetail(wallet01)"”,但“wallet01”不是 JavaScript 变量。

我建议将其更改为:

<form onsubmit="return showDetail()">
Wallet Number : <input type="text" name="wallet01" id="wallet01" />
<br />
<input type="submit" id="submit" name="submit">
</form>

我在表单中添加了“onsubmit”,使用带有“return”的函数,以防止从表单默认提交。但请记住在函数中始终返回 false。

在函数中您可以获得字段的值。

    function showDetail() {
var str = document.getElementById('wallet01').value;

if (str=="") {
document.getElementById("txtHint").innerHTML="";
return false;
}

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 (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","process.php?q="+str,true);
xmlhttp.send();

return false;
}

或者你可以使用 jQuery 的 ajax,这更容易。请参阅此处的示例

    function showDetail() {
var str = $('#wallet01').val();

if (str=="") {
document.getElementById("txtHint").innerHTML="";
return false;
}

var jqxhr = $.ajax( {
url: "example.php",
type: "GET",
data: {q: str}
}).done(function(data, textStatus, jqXHR ) {
alert( "success" );
}).fail(function(jqXHR, textStatus, errorThrown) {
alert( "error" );
}).always(function( ) {
alert( "complete" );
});

return false;
}

请参阅JQuery Ajax docs您还可以使用“beforeSend”函数来启动 gif“加载”。

关于javascript - Ajax Mysql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23685250/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com