jQuery通过Ajax返回JSON数据


Posted in Javascript onApril 28, 2015

服务端PHP读取MYSQL数据,并转换成JSON数据,传递给前端Javascript,并操作JSON数据。本文将通过实例演示了jQuery通过Ajax向PHP服务端发送请求并返回JSON数据。

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。JSON在前后台交互的过程中发挥着相当出色的作用。请接着往下看教程。

<ul id="userlist"> 
  <li><a href="#" rel="1">张三</a></li> 
  <li><a href="#" rel="2">李四</a></li> 
  <li><a href="#" rel="3">王五</a></li> 
</ul> 
<div id="info"> 
  <p>姓名:<span id="name"></span></p> 
  <p>性别:<span id="sex"></span></p> 
  <p>电话:<span id="tel"></span></p> 
  <p>邮箱:<span id="email"></span></p> 
</div>

实例中,显示了一个用户姓名列表ul#userlist,一个用户详细信息层#info。值得注意的是,我给每个<a>标签设置属性“rel”并赋值,这个很重要,将在jQuery中使用。我要实现的效果就是:当点击用户列表中任意用户的姓名,将即时显示出该用户的详细信息,如电话、EMAIL等。

CSS

#userlist{margin:4px; height:42px} 
#userlist li{float:left; width:80px; line-height:42px; height:42px; font-size:14px; 
font-weight:bold} 
#info{clear:left; padding:6px; border:1px solid #b6d6e6; background:#e8f5fe} 
#info p{line-height:24px} 
#info p span{font-weight:bold}

CSS设置了用户列表和用户详细信息的显示外观,您也可以自己设计一个好看的外观。

jQuery

使用jQuery前,别忘了先要确保载入的jQuery库。
<script type="text/javascript" src="../js/jquery.js"></script>
接下来开始写jQuery代码了。

$(function(){ 
  $("#userlist a").bind("click",function(){ 
    var hol = $(this).attr("rel"); 
    var data = "action=getlink&id="+hol; 
     
    $.getJSON("server.php",data, function(json){ 
      $("#name").html(json.name); 
      $("#sex").html(json.sex); 
      $("#tel").html(json.tel); 
      $("#email").html(json.email); 
    }); 
  }); 
});

我给用户列表的每个<a>标签都绑定一个click事件,当单击用户姓名时,执行以下操作:获取当前标签的属性“rel”的值,并组成一个数据串:var data = "action=getlink&id="+hol,接着通过ajax向服务端server.php发送JSON请求,得到后台响应后,返回JSON数据,并将得到的数据显示在用户详细信息中。

PHP

后台server.php得到前端的Ajax请求后,通过传递的参数连接数据库并查询用户表,将相应的用户信息转换成一个数组$list,最后将数组转换成JSON数据。关于PHP与JSON的操作可以查看本站收集的文章:。以下是server.php的详细代码,其中数据连接部分省略,请大家自行建立数据连接。

include_once("connect.php"); //连接数据库 
$action=$_GET[action]; 
$id=intval($_GET[id]); 
if($action=="getlink"){ 
  $query=mysql_query("select * from user where id=$id"); 
  $row=mysql_fetch_array($query); 
  $list=array("name"=>$row[username],"sex"=>$row[sex],"tel"=>$row[tel],"email"=>$row[email]); 
  echo json_encode($list); 
}

通过本文可以知道jQuery通过Ajax向服务端发送JSON请求,使用方法$.getJSON非常方便简单。并且可以将服务端返回的数据进行解析,得到相应字段的内容,相比像HTML请求返回的一大串字符串那样处理方便快捷。
最后附上mysql表结构

CREATE TABLE IF NOT EXISTS `user` ( 
 `id` int(11) NOT NULL auto_increment, 
 `username` varchar(100) NOT NULL, 
 `sex` varchar(6) NOT NULL, 
 `tel` varchar(50) NOT NULL, 
 `email` varchar(64) NOT NULL, 
 PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
javascript引导程序
Oct 26 Javascript
Javascript学习笔记6 prototype的提出
Jan 11 Javascript
jQuery焦点图切换特效插件封装实例
Aug 18 Javascript
js的Boolean对象初始值示例
Mar 04 Javascript
对于jQuery性能的一些优化建议
Aug 13 Javascript
Bootstrap嵌入jqGrid,使你的table牛逼起来
May 05 Javascript
JS中script标签defer和async属性的区别详解
Aug 12 Javascript
ES6新特性八:async函数用法实例详解
Apr 21 Javascript
JS实现获取word文档内容并输出显示到html页面示例
Jun 23 Javascript
JS算法题之查找数字在数组中的索引位置
May 15 Javascript
Vue+Element实现网页版个人简历系统(推荐)
Dec 31 Javascript
js正则匹配markdown里的图片标签的实现
Mar 24 Javascript
javascript实现控制文字大中小显示
Apr 28 #Javascript
Jquery中$.post和$.ajax的用法小结
Apr 28 #Javascript
轻量级的原生js日历插件calendar.js使用指南
Apr 28 #Javascript
javascript中Function类型详解
Apr 28 #Javascript
浅谈Jquery为元素绑定事件
Apr 27 #Javascript
javascript实现实时输出当前的时间
Apr 27 #Javascript
javascript模拟php函数in_array
Apr 27 #Javascript
You might like
php源码加密 仿微盾PHP加密专家(PHPCodeLock)
2010/05/06 PHP
深入PHP操作MongoDB的技术总结
2013/06/02 PHP
PHP读MYSQL中文乱码的快速解决方法
2016/10/01 PHP
用javascript实现兼容IE7的类库 IE7_0_9.zip提供下载
2007/08/08 Javascript
js no-repeat写法 背景不重复
2009/03/18 Javascript
指定区域的图片自动按比例缩小的js代码(防止页面被图片撑破)
2014/02/21 Javascript
JS动态添加Table的TR,TD实现方法
2015/01/28 Javascript
举例详解JavaScript中Promise的使用
2015/06/24 Javascript
JavaScript根据CSS的Media Queries来判断浏览设备的方法
2016/05/10 Javascript
jQuery图片切换动画特效
2016/11/02 Javascript
Jil,高效的json序列化和反序列化库
2017/02/15 Javascript
如何使用vuex实现兄弟组件通信
2018/11/02 Javascript
Vue2.0实现组件之间数据交互和通信操作示例
2019/05/16 Javascript
vue router总结 $router和$route及router与 router与route区别
2019/07/05 Javascript
JS中如何轻松遍历对象属性的方式总结
2019/08/06 Javascript
layui对工具条进行选择性的显示方法
2019/09/19 Javascript
如何使用vue slot创建一个模态框的实例代码
2020/05/24 Javascript
[06:33]DOTA2亚洲邀请赛小组赛第二日 TOP10精彩集锦
2015/01/31 DOTA
python学习手册中的python多态示例代码
2014/01/21 Python
python使用cPickle模块序列化实例
2014/09/25 Python
Python实现的递归神经网络简单示例
2017/08/11 Python
Flask和Django框架中自定义模型类的表名、父类相关问题分析
2018/07/19 Python
python批量复制图片到另一个文件夹
2018/09/17 Python
对python 合并 累加两个dict的实例详解
2019/01/21 Python
从训练好的tensorflow模型中打印训练变量实例
2020/01/20 Python
python数据库编程 Mysql实现通讯录
2020/03/27 Python
Python faker生成器生成虚拟数据代码实例
2020/07/20 Python
html5唤起app的方法
2017/11/30 HTML / CSS
电子商务毕业生求职信
2013/11/10 职场文书
护理专业自荐信范文
2014/02/26 职场文书
家长对孩子的感言
2014/03/10 职场文书
人事经理岗位职责
2014/04/28 职场文书
单位同意报考证明
2015/06/17 职场文书
MySQL 自定义变量的概念及特点
2021/05/13 MySQL
MySQL笔记 —SQL运算符
2022/01/18 MySQL
Mysql 文件配置解析介绍
2022/05/06 MySQL