我在这个测试网站上有一个输入和一个 div。我正在尝试使用 Ajax 将该输入的值发送到我的 PHP 脚本,然后使用该输入过滤一个表,然后在不刷新的情况下将其显示在页面上。我查找了如何执行此操作,但每次都无法使其正常工作。或者表没有出现,当它出现时,Ajax post 值没有进入我的 PHP 脚本。现在表出现了,但值没有发送到 php 脚本给我这个错误:“注意:未定义索引:在 C:\xampp\htdocs\projetos\AJAX 尝试\atualiza.php 中搜索第 4 行”HTML 输入表<html><head> <title>AJAX</title></head><body> <div>AJAX!</div> <form action="" name="form"> <input onkeyup="ichooseyouajax(this.value);" name="search"> </form> <div id="search_results"> </div></body><script type='text/javascript' src='JS/jquery-3.4.1.min.js'></script><script type="text/javascript">function ichooseyouajax(str){ if (str.lenght==0) {}else{ $.post('atualiza.php', {'search': str}, function() { $('#search_results').load('atualiza.php').show(); }); }}</script></html>PHP脚本<?php $conexao = mysqli_connect("localhost", "root", "" , "intranet_db"); $search=$_POST["search"]; $selecionar=mysqli_query($conexao,"SELECT * FROM stock WHERE id='$search' OR nome LIKE '%$search%'"); echo"<table>"; while ($linha=mysqli_fetch_array($selecionar)) { echo" <tr> <td>".$linha['id']."</td> <td>".$linha['nome']."</td> </tr> "; } echo"</table>";?>
2 回答
MMTTMM
TA贡献1869条经验 获得超4个赞
使用以下内容更改您的代码。
$.post('atualiza.php', {'search': str}, function() {
$('#search_results').load('atualiza.php').show();
});
和
$.post('atualiza.php', {'search': str}, function(response) {
$('#search_results').html(response);
});
慕尼黑5688855
TA贡献1848条经验 获得超2个赞
$.post('atualiza.php', {'search': str}, function() {
这会向 URL 发出 POST 请求。
当它得到回应时,你说:
$('#search_results').load('atualiza.php').show();
这会向 URL发出单独的GET 请求。
由于 GET 请求中没有数据,因此$_POST['search']未定义。
不要发出第二个 HTTP 请求。使用从第一个请求返回的数据。
$.post('atualiza.php', {'search': str}, function(data) {
console.log(data); // Replace this with code to update the DOM
});
- 2 回答
- 0 关注
- 153 浏览
添加回答
举报
0/150
提交
取消