【问题标题】:How to retrieve a table made with a POST method through AJAX?如何通过 AJAX 检索使用 POST 方法创建的表?
【发布时间】:2016-11-29 01:50:25
【问题描述】:

目前在我的大学做一个期末项目,老师问我们的一件事是通过 AJAX POST 方法在单独的脚本上创建一个表(根据用户在前面给出的变量进行查询)页面并用结果填充表格),然后将该表格带回主页。但是到目前为止,我还没有找到正确检索表的方法。

我尝试使用 .load 来恢复表格,但表格出现未定义,就好像 POST 生成的变量没有保存一样。目前我正在使用附加表将表格附加到我的主页,但我的老师和我同意这不是正确的方法,因为它不断向 div 添加更多表格,我们希望每个 POST 只出现一个表格。

这是主脚本:

<!DOCTYPE html>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#buttonone").click(function(){
var test = $("#form input[name= yourlastnamep]").val();
$.post("script_02.php",{alep: test},function(data){
$("#xmas").append(data);
$("#show").click(function(){
$("#xmas").fadeToggle();
});
});
});
});
</script>
</head>


<body>
<form id="form">
<p>Find your Last Name:</p>

<div class="form-group-register">
<label>Last Name:</label>
<input type="text" class="form-control" name="yourlastnamep">
</div>

<div class="form-group-register">
<button type="button" id="buttonone">Find me!</button>
<button type="button" id="show">Toggle!</button>
</div>
</form>
<div id="xmas"></div>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
</body>

</html>

这里是 script_02.php:

<?php
$mysqli = new mysqli("localhost", "user", "password", "formysqli");
$var1 = $_POST['alep'];
$var2 = "SELECT name, middlename, lastname, age, birth from formtable where lastname = '$var1'";
$result = $mysqli->query($var2);
?>

<table border="1">
<tr>
<th>NAME</th>
<th>MIDDLE NAME</th>
<th>LASTNAME</th>
<th>AGE</th>
<th>BIRTH</th>
</tr>
<tr>
<td><?php echo $row['name']; ?></td>
<td><?php echo $row['middlename']; ?></td>
<td><?php echo $row['lastname']; ?></td>
<td><?php echo $row['age']; ?></td>
<td><?php echo $row['birth']; ?></td>
</tr>
</table>

感谢您的关注。

【问题讨论】:

  • 我会使用 PHP 来查询 MySQL 和 echo json_encode($assocArray); 回到您的 JavaScript 并在客户端构建表。

标签: javascript php jquery ajax mysqli


【解决方案1】:

代替

$("#xmas").append(data);

使用

$("#xmas").html(data);

【讨论】:

    猜你喜欢
    • 2017-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-13
    • 1970-01-01
    • 2013-11-09
    • 2014-05-11
    相关资源
    最近更新 更多