PHP文件未捕获AJAX响应
我们正在使用jQueryAjax方法为实时搜索和批量更新文件创建网页。这些文件包括index.php(用于向用户和Javascript显示)和多个_update.php(用于批量获取和更新文件)。我们获得的初始参考是来自,但它没有任何用于搜索记录的参考,因此我们为我们的旅程寻求帮助 下面是我们的index.php文件PHP文件未捕获AJAX响应,php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,我们正在使用jQueryAjax方法为实时搜索和批量更新文件创建网页。这些文件包括index.php(用于向用户和Javascript显示)和多个_update.php(用于批量获取和更新文件)。我们获得的初始参考是来自,但它没有任何用于搜索记录的参考,因此我们为我们的旅程寻求帮助 下面是我们的index.php文件 <div class="content-wrapper"> <div class="content-heading"
<div class="content-wrapper">
<div class="content-heading">
<div>STO Monitoring<small>Tables, one step forward.</small></div>
<div class="ml-auto"><input type="text" id="search" placeholder="Search" /></div>
<div id="display"></div>
<div class="ml-auto">
<button class="btn btn-primary btn-lg" type="button" data-toggle="modal" data-target="#myModalSmall"><i class="fas fa-plus-square"></i> Add Record</button>
</div>
</div>
<form method="post" id="update_form">
<div class="card">
<div class="card-body">
<table class="display" id="example" style="width:100%">
<thead>
<tr>
<th width="3%"></th>
<th width="5%">No</th>
<th width="15%">STO</th>
<th width="20%">PN</th>
<th width="8%">Qty</th>
<th width="10%">From</th>
<th width="10%">Dest</th>
<th width="15%">Status</th>
<th width="14%">Remark</th>
</tr>
</thead>
<tbody></tbody>
</table>
<div align="left">
<input type="submit" name="multiple_update" id="multiple_update" class="btn btn-info" value="Multiple Update" />
</div>
</div>
</div>
</form>
</div>
.....
STO监控表,向前一步。
添加记录
不
STO
PN
数量
从…起
目的地
地位
评论
.....
下面是index.php中的脚本,我们怀疑这个脚本目前需要进行故障排除
<script>
function fill(Value) {
$('#search').val(Value);
if (name == "") {
$("#display").html("");
}
}
$(document).ready(function(){
function fetch_data()
{
$("#search").keyup(function() {
var name = $('#search').val();
if (name == "") {
//Assigning empty value to "display" div in "search.php" file.
$("#display").html("empty");
} else {
$.ajax({
url:"multiple_select.php",
method:"POST",
dataType:"json",
data: {
//Assigning value of "name" into "search" variable.
search: name
},
success:function(data)
{
var html = '';
for(var count = 0; count < data.length; count++) {
html += '<tr>';
html += '<td><input type="checkbox" id="'+data[count].num+'" data-num="'+data[count].num+'" data-sto="'+data[count].sto+'" data-pn="'+data[count].pn+'" data-qty="'+data[count].qty+'" data-supplant="'+data[count].supplant+'" data-dest="'+data[count].dest+'" data-stat="'+data[count].stat+'" data-remark="'+data[count].remark+'" class="check_box" /></td>';
html += '<td>'+(count+1)+'</td>';
html += '<td>'+data[count].sto+'</td>';
html += '<td>'+data[count].pn+'</td>';
html += '<td>'+data[count].qty+'</td>';
html += '<td><span class="btn btn-oval btn-primary">'+data[count].supplant+'</span></td>';
html += '<td><span class="btn btn-oval btn-warning">'+data[count].dest+'</span></td>';
html += '<td>'+data[count].stat+'</td>';
html += '<td>'+data[count].remark+'</td></tr>';
}
$('tbody').html(html);
}
});
}
});
}
fetch_data();
$(document).on('click', '.check_box', function(){
.....
</script>
函数填充(值){
$('#search').val(值);
如果(名称==“”){
$(“#显示”).html(“”);
}
}
$(文档).ready(函数(){
函数fetch_data()
{
$(“#搜索”).keyup(函数(){
var name=$('#search').val();
如果(名称==“”){
//将空值赋给“search.php”文件中的“display”div。
$(“#display”).html(“空”);
}否则{
$.ajax({
url:“multiple_select.php”,
方法:“张贴”,
数据类型:“json”,
数据:{
//将“name”的值赋给“search”变量。
搜索:名称
},
成功:功能(数据)
{
var html='';
对于(var count=0;count
我们修改AJAX以查看网络是否可以捕获输入,下面是multiple_update.php的代码
<?php
include('multiple_connection.php');
$name = $_POST['search'];
echo $name;
$query = "SELECT * FROM matreq_list, sto_list WHERE matreq_list.sto = sto_list.sto AND sto_list.sto LIKE '%$name%' LIMIT 5;
$statement = $connect->prepare($query);
if($statement->execute()) {
while($row = $statement->fetch(PDO::FETCH_ASSOC)) {
$data[] = $row;
}
echo json_encode($data);
}
?>
HTML没有以您想要的方式响应是因为您有JavaScript错误,因此您的响应代码无法相应地工作。 在引导之前,首先要包含jquery文件。 这将解决“无法读取未定义的属性fn”错误。
在做了我上面提到的事情之后,请在ajax请求的success参数中用调试消息更新您的帖子在彻底阅读了Nadir Baoun先生的指导下的各种文章之后,我的问题现在通过更改脚本的顺序得到了解决,将jquery脚本放在引导脚本之前 stackoverflow网站上也发布了类似的答案:
谢谢:)仅为了添加上下文,是否启用了错误?是否确定文件中没有错误?(数据库方面)。良好的代码缩进将帮助我们阅读代码,更重要的是,它将帮助您为自己的利益调试代码。您可能会在几周/几个月内被要求修改此代码,最后您将感谢我。您的代码易受sql注入的影响。请使用带有参数的始终准备好的语句。请参阅Hi@NadirBaoun,谢谢您的回复pond。我们忘了附加错误,我们将编辑此帖子,以确保更清楚地了解我们的问题。简言之,是的,有错误,但我仍然不知道下一步该怎么办。谢谢@RiggsFolly,我将检查您的建议,很抱歉,由于我自学编程,因此此代码不是标准上的完美示例。我将我尽力一步一步地学习和遵守亲爱的纳迪尔先生,谢谢你的建议。在改变jquery的位置后,我发现AJAX现在可以更新我的index.php。先生,关于链接的顺序,我有什么可能遗漏的吗?
.....
<script src="vendor/datatables.net/js/jquery.dataTables.js"></script>
<script src="vendor/datatables.net-bs4/js/dataTables.bootstrap4.js"></script>
<script src="vendor/datatables.net-responsive-bs/js/responsive.bootstrap.js"></script>
<script src="vendor/jquery/dist/jquery3.5.1.js"></script>
<script src="vendor/datatables.net/dist/js/jquery.dataTables.min.js"></script>