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 相关文章推荐
FF火狐下获取一个元素同类型的相邻元素实现代码
Dec 15 Javascript
jQuery去掉字符串起始和结尾的空格(多种方法实现)
Apr 01 Javascript
jQuery实用函数用法总结
Aug 29 Javascript
js监听鼠标点击和键盘点击事件并自动跳转页面
Sep 24 Javascript
浅谈js基本数据类型和typeof
Aug 09 Javascript
AngularJS动态生成div的ID源码解析
Aug 29 Javascript
JS实现类似51job上的地区选择效果示例
Nov 17 Javascript
jQuery Form插件使用详解_动力节点Java学院整理
Jul 17 jQuery
20170918 前端开发周报之JS前端开发必看
Sep 18 Javascript
react实现一个优雅的图片占位模块组件详解
Oct 30 Javascript
vue项目添加多页面配置的步骤详解
May 22 Javascript
JQuery基于FormData异步提交数据文件
Sep 01 jQuery
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
YB217、YB235、YB400浅听
2021/03/02 无线电
thinkphp使用literal防止模板标签被解析的方法
2014/11/22 PHP
phpmyadmin提示The mbstring extension is missing的解决方法
2014/12/17 PHP
php日期操作技巧小结
2016/06/25 PHP
php实现对文件压缩简单的方法
2019/09/29 PHP
自适应图片大小的弹出窗口
2006/07/27 Javascript
javascript vvorld 在线加密破解方法
2008/11/13 Javascript
jQuery 处理表单元素的代码
2010/02/15 Javascript
使用JQuery和CSS模拟超链接的用户单击事件的实现代码
2012/05/23 Javascript
浅谈javascript 函数内部属性
2015/01/21 Javascript
Javascript中For In语句用法实例
2015/05/14 Javascript
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
JavaScript编写检测用户所使用的浏览器的代码示例
2016/05/05 Javascript
详解jQuery中ajax.load()方法
2017/01/25 Javascript
JS作用域链详解
2017/06/26 Javascript
vue中$refs的用法及作用详解
2018/04/24 Javascript
微信小程序如何加载数据库真实数据的实现
2020/03/04 Javascript
js实现滚动条自动滚动
2020/12/13 Javascript
[54:51]Ti4 冒泡赛第二轮LGD vs C9 3
2014/07/14 DOTA
2款Python内存检测工具介绍和使用方法
2014/06/01 Python
实例讲解python函数式编程
2014/06/09 Python
pycharm远程调试openstack的图文教程
2017/11/21 Python
python逆向入门教程
2018/01/15 Python
python浪漫表白源码
2019/04/05 Python
python找出因数与质因数的方法
2019/07/25 Python
PyCharm永久激活方式(推荐)
2020/09/22 Python
OpenCV+python实现实时目标检测功能
2020/06/24 Python
css3实现六边形边框的实例代码
2019/05/24 HTML / CSS
文明宿舍获奖感言
2014/02/07 职场文书
一月红领巾广播稿
2014/02/11 职场文书
安全宣传标语口号
2014/06/06 职场文书
2014年第四季度入党积极分子思想汇报(十八届四中全会)
2014/11/03 职场文书
单位接收证明格式
2015/06/18 职场文书
初中体育教学随笔
2015/08/15 职场文书
2016大学生入党积极分子心得体会
2016/01/06 职场文书
创业计划书之川味火锅店
2019/09/02 职场文书