ajax查询数据的举例
1.根据下拉框的值异步查询信息
HTML代码如下:
<script>
$(function(){ //页面载入时执行
$("#key").change(function(){ //当下拉框中值发生变化时执行
var cc1 = $('#key').val(); //得到下拉菜单的选中项的value值
if (cc1!=){ //如果下拉框中内容不为空
//发送记录id和sid 两个参数到getweb.asp,math.random()避免缓存
$.get("10-6.php",{id:cc1,sid:Math.random()},
function(data){
$("#disp").html(data);
});
}
else
$("#disp").html("还没选择!");
});
})
</script> <?
include('conn.php');
$result=$conn->query("Select * From link Order By id Desc");
?>
请选择网站:
<select id="key">
<option value="">==请选择==</option>
<? while($row=$result->fetch_assoc()){ ?> <!--填充下拉框中的数据-->
<option value="<?=$row['id'] ?>"><?=$row['name'] ?></option>
<?
}
?>
</select> <ul id="disp"><b>网站信息...</b></ul>
10-6.php
<?
header("Content-type: text/html; charset=gb2312");
include('conn.php');
$id=$_GET["id"]; //获得$.get()发送来的id
$sql="Select * From link Where id=$id";
$result=$conn->query($sql);
if($result->num_rows>){
while($row=$result->fetch_assoc()){
echo "<li>编号:".$row['id']."</li>";
echo "<li>网站名:".$row['name']." </li>";
echo "<li>URL地址:".$row['URL']." </li>";
echo "<li>介绍:".$row['intro']." </li>";
}
}
else echo "没有搜索到信息";
?>
2.制作级联下拉框
例如省会城市的选择
$(function(){
$("#szSheng").change(function(){ //左边列表框值改变时触发
$.getJSON("10-8.php",{index: $(this).val()}, //发送列表框值给10-8.asp
function(data){ //接收10-8.asp返回的数据
var city=""; //根据返回的JSON数据,创建<option>项
for (var i = ; i < data.length; i++) {
city += '<option value="' + data[i].ID + '">' + data[i].shi + '</option>';
};
$("#szShi").html(city); //在第二个下拉菜单中显示数据
});
});
$("#szSheng").change(); //让页面第一次显示的时候也有数据
})
</script>
所在城市:<select id="szSheng">
<? include('conn.php');
$result=$conn->query("select * from province order by shengorder");
//var_dump($result);
while($row=$result->fetch_assoc()){ ?> <!--在左边列表框中加载所有省的信息-->
<option value="<?=$row["id"] ?>" ><?=trim($row["shengname"]) ?></option>
<? } ?>
</select>
<select id="szShi"></select> <!--右边列表框,用于加载市的信息-->
10-8.php 数据格式
<?
header("Content-type: text/html; charset=gb2312");
include('conn.php');
$shengid=$_GET["index"]; //获得$.getJSON发送来的数据
$sql="select * from city where Shengid=$shengid order by shiorder"; $city= "["; //$city用来保存JSON格式字符串
$i=;
$result=$conn->query($sql);
while($row=$result->fetch_assoc()){ //循环输出JSON格式数据
$city = $city."{ID:".$row["shiorder"].", shi: '".$row["shiname"]."'}"; if($result->num_rows!=++$i) $city = $city.','; //如果不是最后一条记录
} $city = $city."]";
echo $city;
?>
3.异步方式检测用户名是否可以注册
在页面失去焦点 的时候,就检测该用户名是否可以注册。 如果用户输入的用户名和密码合法,则在不刷新页面的情况下完成用户注册,也就是单击“注册”按钮的时候将用户名和密码异步发送给服务器并插入到admin表中,然后返回注册成功的信息。
HTML代码
<script src="jquery.min.js"></script>
<script>
$(function(){ //在页面载入时加载
$("#user").blur(function(){ //在文本框失去焦点时检测
var user=$("#user").val();
if (user != ""){
$.get('10-9-2.php', {username:user,n:Math.random()}, function (data){
if (data==){ //返回1表示用户名没有注册
$("#prompt").html("<font color=#0000ff>可以注册</font>");
}
else {
$("#user").focus().select();
$("#prompt").html("<font color=#ff0000>此用户名已经注册</font>");
}
});
}else $("#prompt").html("请输入用户名");
});
$("#reg").click(function(){ //单击注册按钮时
var user=$("#user").val();
var password=$("#pwd").val();
if (user != "" && password !=""){
$.get('10-9-2.php', {username: user,password:password,act:"login"},
function (data){
$("#user").val(""); $("#pwd").val(""); //清空文本框
$("#show").html(data); });}
else $("#prompt").html("请输入用户名和密码"); });
})
</script>
<form>
<table border= cellpadding= cellspacing= width="">
<tr>
<td width="">用户名</td><!-- -->
<td width=""><input type="text" id="user" size=""></td>
<td width=""><div id="prompt">请输入用户名</div></td>
</tr>
<tr>
<td>密码</td>
<td><input type="text" id="pwd" size=""></td>
<td></td>
</tr>
<tr>
<td></td>
<td><input type="button" value="注册" id="reg"></td>
<td id="show"></td>
</tr>
</table>
</form>
10-9-2.php
<? header("Content-type: text/html; charset=gb2312");
require('conn.php');
$username=$_GET["username"]; //获得10-9.html发送来的数据
$password=$_GET["password"];
$act=$_GET["act"];
if($act=="login"){ //处理单击“注册”按钮的代码
$sql="insert into admin(`user`,`password`) values('$username','$password')";
if($conn->query($sql))
echo "欢迎 $username , 注册成功";
else echo '注册失败,原因:'. $conn->errno. $conn->error;
die();
}
$sql="select * from admin where user='$username'"; //处理检测用户名的代码
$result=$conn->query($sql);
if($result->num_rows==)
echo ; //如果没有记录则输出1,表示可以注册
?>
ajax查询数据的举例的更多相关文章
- 8.ajax查询数据
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- ajax查询数据返回结果不变
在使用流水号的时候,Google浏览器没有问题,但是IE有缓存,如果ajax请求的参数没有变化,那么就会返回缓存里的数据 解决方法:ajax请求的时候传值的参数设置一个时间戳就OK了(没什么特别意义, ...
- jquery通过ajax查询数据动态添加到select
function addSelectData() { //select的id为selectId //清空select中的数据 $("#selectId").empty(); $.a ...
- 查询数据过多页面反应慢引入缓存解决方案(Redis、H2)
问题:原系统查询接口不支持分页也不可能加入分页支持,导致Ajax查询数据过多,返回数据达到2W多条记录时响应已经极慢,查询功能不要求数据实时性,页面反应速度极慢.体验不好:经排查是由于数据量过大导 ...
- ASP.NET 前端Ajax获取数据并刷新
控制器中↓ /// <summary> /// 根据ID来进行展示数据 /// </summary> /// <param name="instru_id&qu ...
- 5月17 利用AJAX查询数据库
利用AJAX查询数据 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:// ...
- vue使用element Transfer 穿梭框实现ajax请求数据和自定义查询
vue使用element Transfer 穿梭框实现ajax请求数据和自定义查询 基于element Transfer http://element-cn.eleme.io/#/zh-CN/comp ...
- 通过ajax GET方式查询数据,Django序列化objects
点击“查找2”按钮,通过ajax GET方式进行查询数据,这样页面不需要整体刷新,之后清空tbody数据,将查询结果重新附加到tbody 前端html: <div class="box ...
- mongodb基础系列——数据库查询数据返回前台JSP(二)
上篇博客论述了,数据库查询数据返回前台JSP.博客中主要使用Ajax调用来显示JSON串,来获取其中某一个字段,赋给界面中的某一个控件. 那这篇博客中,我们讲解,把后台List传递JSP展示. Lis ...
随机推荐
- struts1:(Struts重构)构建一个简单的基于MVC模式的JavaWeb
在构建一个简单的基于MVC模式的JavaWeb 中,我们使用了JSP+Servlet+JavaBean构建了一个基于MVC模式的简单登录系统,但在其小结中已经指出,这种模式下的Controller 和 ...
- hbase性能调优之压缩测试
文章概述: 1.顺序写 2.顺序读 3.随机写 4.随机读 5.SCAN数据 0 性能测试工具 hbase org.apache.hadoop.hbase.PerformanceEvaluation ...
- Haproxy+PXC实现负载均衡
软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第 三方应用的软负载实现.LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载.HA ...
- oracle中闪回错误的dml操作原理
原理: Oracle根据还原表空间信息,利用还原表空间中的数据,类似一致性读取方法,可以把表置于一个删除前的时间点(或SCN),从而将数据找回. 删除删除错误的dml操作的oracle的前提准备: 一 ...
- WCF宿主实践入门
本篇属于WCF实践入门,由于博主本人水平有限,没有理论上的介绍,仅仅从其几种不同的宿主方式分别介绍WCF的使用. WCF有多种宿主方式:1.自托管宿主,2.windows service宿主,3.II ...
- Jumpserver
Jumpserver 是一款由python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能.基于ssh协议来管理,客户端无需安装agent. 支持常见系统: redhat centos debi ...
- LayoutInflater的获取方式
1.LayoutInflater是什么? 通俗而讲,就是将xml中定义的布局找出来. 2.获取LayoutInflater的三种方式 1. LayoutInflater inflater = ge ...
- 小希的迷宫--hdu1272(并查集)
小希的迷宫 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- 【改造Linux命令之rm - 删除文件或目录-】
用途说明 rm命令是常用的命令,用来删除文件或目录(remove files or directories).它也是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比 ...
- Android实现ListView或GridView首行/尾行距离屏幕边缘距离
直接上关键属性: 设置ListView或GridView的android:clipToPadding = true, 然后通过paddingTop和paddingBottom设置距离就好了.