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 ...
随机推荐
- activity的生命周期详解
刚在看mars老师的视频,看到activity的生命周期,就看了一下,总结了一下.下面是各函数的调用时机 为了更清楚的看清楚工作的具体过程,举例如下: ,建立两个activity,一个main,一个a ...
- PC远程调试移动设备(转载)
我们在移动端进行前端开发时,会遇到一个让人头痛但不得不面对的问题--调试. 在 PC 机器上,我们有功能强大的 Chrome DevTools.Firebug,即便是老版本的 IE ,我们也可以安装微 ...
- Hibernate注解学习1
由于项目的原因目前需要一些简单注解,于是就做了个hibernate注解的小demo,来记录一下. 1.需要引入jar包ejb3-persistence.jarhibernate-annotations ...
- UVA 816 Abbott’s Revenge
bfs求最短路,递归打印最短路的具体路径: 难点: 当前状态和转弯方式很复杂,要仔细处理: 递归打印:用一个数组存储路径中结点的前一个节点,递归查找 (bfs无法确定下一个结点,但对于没一个结点,它的 ...
- COB對PCB設計的要求
由於COB沒有IC封裝的leadframe(導線架),而是用PCB來取代,所以PCB的焊墊設計就便得非常的重要,而且Fihish只能使用電鍍金或是ENIG(化鎳浸金),否則金線或是鋁線,甚至是最新的銅 ...
- NFC的安全性
NFC近距离无线技术具有快捷.易用.安全等特性,其中安全是支付行业最关心的特性. 众所周知传统磁条银行卡的账号信息,是记录在磁条中,当进行刷卡交易时,POS机将交易金额,银行卡中的账号信息以及用户输入 ...
- JavaEE Tutorials (27) - Java EE的并发工具
27.1并发基础427 27.1.1线程和进程42827.2并发工具的主要组件42827.3并发和事务42927.4并发和安全43027.5jobs并发示例430 27.5.1运行jobs示例4302 ...
- 新浪系统工程师笔试--shell
1. test01 test02 1 200 1 100 2 500 2 300 3 200 3 50 4 100 4 150 输出 200 100 100 500 300 ...
- #include <boost/array.hpp>
Boost的array,元素可以是std::string #include <iostream> #include <string> #include <boost/ar ...
- paip.vs2010 或.net 4.0安装出错解决大法.
paip.vs2010 或.net 4.0安装出错解决大法. 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.cs ...