我的pdo ajax代码搜索不工作
My pdo ajax code for search is not working
我想做的是:当用户输入他们的电子邮件时,我的ajax代码将运行并在密码输入框中显示用户的密码。
问题是,当我的ajax代码发送电子邮件到search.php,我的search.php没有给我的ajax数据显示。
我认为问题是在我的搜索。php,因为当我去搜索。php后,我键入电子邮件在我的索引搜索。php只是空白,没有数据显示。
指数(形式):
email <input type="text" id="query" name="myemail" class="search_textbox" /><br />
Your Password <input type="text" id="mypass" name="mypass" readonly="readonly" /><br />
<script>
$(document).ready(function(){
$('.search_textbox').on('blur', function(){
$('#query').change(updateTextboxes);
updateTextboxes()
})
$('.search_textbox').on('keydown', function(){
$('#query').change(updateTextboxes);
updateTextboxes()
})
$('#query').change(updateTextboxes);
var $mypass = $('#mypass');
function updateTextboxes(){
$.ajax({
url:"search.php",
type:"GET",
data: { term : $('#query').val() },
dataType:"JSON",
success: function(result) {
var ii = 1;
for (var i = 0; i < result.length; i++) {
$mypass.val(result[i].value).show().trigger('input');
ii++;
}
}
});
};
});
</script>
search.php
<?php
error_reporting(-1);
ini_set('display_errors', 'On');
$host = "localhost";
$user = "root";
$pass = "";
$db = "test";
$dbc = new PDO("mysql:host=" . $host . ";dbname=" . $db, $user, $pass);
$dbc->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if (isset($_GET['term'])) {
$q = $_GET['term'];
$sql = "SELECT password FROM students WHERE email = :term";
$query = $dbc->prepare($sql);
$query->bindParam(':term', $q);
$results = $query->execute();
$data = array();
while ($row = $results->fetch()) {
$data[] = array(
'value' => $row['password']
);
}
header('Content-type: application/json');
echo json_encode($data);
}
?>
我注意到了header('Content-type: application/json');
。我认为没有必要。拔掉电话线,再试一次。我不确定,但我认为php
header
需要一个新的页面。由于您有echo json_encode($data);
并且在AJAX调用中,您已经将返回数据处理为json
,因此不需要header(...)
。
编辑
$q = $_GET['term'];
$sql = "SELECT password FROM students WHERE email = :term";
$query = $dbc->prepare($sql);
$query->bindParam(':term', $q);
if($query->execute() && $query->rowCount()){
echo json_encode($query->fetch(PDO::FETCH_ASSOC));
}
脚本function updateTextboxes(){
$.ajax({
url:"search.php",
type:"GET",
data: { term : $('#query').val() },
dataType:"JSON",
success: function(result) {
//check here if you have a result, if yes than...
$("#mypass").val(result.password);
}
}
相关文章:
- 自动完成搜索无法正常工作,请不要迭代$中的所有元素.每个ul-li都会及时显示响应
- 数据表 + 列搜索 + 整体搜索协同工作 + 服务器端处理
- 将搜索按钮从一个站点复制到另一个站点:此搜索按钮如何工作,以及如何重现其操作
- Angular ng sortable-如果我在一个栏中添加了一个搜索框,则拖放在两列之间无法正常工作
- 谷歌附近的地方搜索工作不正常
- 角度:搜索器(过滤器)根据数据类型工作不同
- 角度:需要搜索栏在 2 个不同的 ng 重复上工作
- 通过输入键(不起作用)或搜索按钮(工作)查询结果
- 数据表正则表达式搜索无法按预期工作以实现完全匹配
- 无法让 javascript/html 搜索栏工作
- 搜索功能无法正常工作
- 谷歌博主的编号页面导航无法在搜索结果页上工作
- 用于自动搜索的 AJAX 无法正常工作
- 在 URL 中插入搜索词无法正常工作
- 基于字符串搜索的简单jquery查找和显示无法使其工作
- dataTable搜索〔Filter Plugin〕没有'不改变就不工作
- 本地服务器在firefox中工作,在chrome中被视为搜索
- 为什么不是'我的datatables.js上的搜索函数正在工作
- iPhone谷歌图像搜索触摸事件功能是如何工作的
- 为什么不't使用搜索方法查找.按照我在JavaScript中期望的方式工作