phpStudy4——前端页面使用Ajax请求并解析php返回的json数据
项目需求:
在html页面显示所有用户列表信息。
需求分析:
1. html页面使用ajax向后端php请求用户数据
2. php脚本查询数据库,并将查询后的结果以json格式返回前端html页面
3. 前端html页面接收到json数据之后,对json数据进行解析病输出
示例代码:
前端html页面关键代码:
$.post(
"../Controllers/userController.php",
{
"pageItems":pageItems,
"indexStart":indexStart
},
function(userJson){
if(userJson!=null){
var obj=JSON.parse(userJson);
$.each(obj, function(i) {
var scoreLevel="";
var userId=obj[i].userId;
var userName=obj[i].userName;
var phoneNumber=obj[i].phoneNumber;
var userScore=obj[i].userScore;
var dataTime=obj[i].dataTime;
if(userScore<=120&&userScore>=100) scoreLevel="一等奖";
if(userScore<100&&userScore>=60) scoreLevel="二等奖";
if(userScore<60) scoreLevel="三等奖";
$(".userTb").append("<tr><td>"+(i+1)+"</td><td>"+userName+"</td><td>"+phoneNumber+"</td><td>"+userScore+"</td><td>"+scoreLevel+"</td><td>"+dataTime+"</td></tr>");
});
}
}
);
后端php关键代码:
<?php
//连接数据库 //1. 声明字符编码
header("Content-Type:text/html;charset=utf8"); //2. 连接数据库
$link=mysql_connect("localhost","root","root");//连接数据库
if(!$link) echo "系统异常,请稍后再试";//如果连接数据库失败
mysql_select_db("test", $link); //选择数据库
mysql_query("set names 'utf8'"); // 解决中文乱码 //3. 查询数据库
$strSql = "SELECT * FROM user_info"; //SQL查询语句
mysql_query("SET NAMES utf8");
$result = mysql_query($strSql); //获取数据集 //4. 循环读取数据并存入数组对象
$users;$user;$i=0;
while($row=mysql_fetch_array($result))
{
$user["userId"]=$row["userId"];
$user["userName"]=$row["userName"];
$user["phoneNumber"]=$row["phoneNumber"];
$user["userScore"]=$row["userScore"];
$user["dataTime"]=$row["dataTime"];
$users[$i++]=$user;
}
//5. 以json格式返回html页面
echo urldecode(json_encode($users));
?>
注意事项:
前端js脚本通过ajax请求后端php脚本返回的数组数据时,最好使用json格式传回,如果你坚持想用数组传入解析,估计会走不少弯路。
phpStudy4——前端页面使用Ajax请求并解析php返回的json数据的更多相关文章
- ajax请求解析springmvc返回的json数据
需要使用的框架 spring3.0 jquery1.9.0(简化ajax开发的js库) Jackson(json处理器):jackson-core-asl-1.9.2.jar,jackson-mapp ...
- js的eval函数解析后台返回的json数据时为什加上圆括号eval("("+data+")"),而HTML页面定义的数据不用
一,情况如下,这是成功代码: $(function () { $.ajax({ url: "Demo.aspx", type: "post", data: { ...
- js解析php返回的json数据无法获取length的问题分析
1.问题出现的过程,js解析php json_encode 的数据,无法获取长度信息,提示undefined debug: 首先打印查看了php encode后的数据,返现最外层是一个 ...
- C# dynamic类型序列化和反序列化之Newtonsoft.Json,动态解析远端返回的jSON数据
一.说明 1.Newtonsoft.Json 中的Linq To Json中提供了方便的json数据查询.修改等操作. 例如:JObject,JArray 2.在JObject.FromObject( ...
- ajaxFileUpload上传文件成功后却无法解析服务器返回的json数据
可能是应该返回内容带了标签,过滤下 var index=data.indexOf("<"); if (index!=-1){ data=data.substring(0,in ...
- SpringMVC响应Ajax请求(@Responsebody注解返回页面)
项目需求描述:page1中的ajax请求Controller,Controller负责将service返回的数据填充到page2中,并将page2整个页面返回到page1中ajax的回调函数. 一句话 ...
- Jquery发送ajax请求以及datatype参数为text/JSON方式
Jquery发送ajax请求以及datatype参数为text/JSON方式 1.方式一:datatype:'text' 2.方式二:datatype:'JSON' 3.使用gson-1.5.jar包 ...
- 【转】Jquery ajax方法解析返回的json数据
转自http://blog.csdn.net/haiqiao_2010/article/details/12653555 最近在用jQuery的ajax方法传递接收json数据时发现一个问题,那就是返 ...
- JS前端取得并解析后台服务器返回的JSON数据的方法
摘要:主要介绍:使用eval函数解析JSON数据:$.getJSON()方法获得服务器返回的JSON数据 JavaScript eval() 函数 eval(string) 函数可计算某个字符串,并执 ...
随机推荐
- [转]Java 运算符的优先级
Java 运算符的优先级(从高到低) 优先级 描述 运算符 1 括号 ().[] 2 正负号 +.- 3 自增自减,非 ++.--.! 4 乘除,取余 *./.% 5 加减 +.- 6 移位运算 &l ...
- jenkins持续集成3
1.安装Pipeline插件,并初识 1.启动Jenkins,打开浏览器http://localhost:8080,系统管理,用户名:chenshanju/123456 2.系统管理-插件管理,安装p ...
- Windows7下搭建Eclipse+Python开发环境
机器: Windows7_x86_64 前提: 机器已成功安装Python2.7,并配置好环境变量. 步骤: 一.Eclipse的安装 Eclipse是基于java的一个应用程序,因此需要一个java ...
- Mysql导出表结构、表数据
导出 (cmd) 1.导出數據库為dbname的表结构(其中用戶名為root,密码為dbpasswd,生成的脚本名為db.sql) mysqldump -u root -p dbpass ...
- IDEA设置syso快捷键输出System.out.println();
用Eclipse时间长了, 就习惯之前的快捷键! 当然, IDEA不愧是Java开发的”利器”! 写起代码就是一个字 – “爽”! 建议大家可以去尝试一下! 当然, 在IDEA中输出System.ou ...
- Servlet、Servlet容器等内容讲解
转载自http://blog.csdn.net/iAm333 对于Servlet.Servlet容器以及一个Servlet容器-Tomcat这些概念讲解的挺清晰的,转载下 之前在开源中国看到一篇文章& ...
- 20165233 2017-2018-2 《Java程序设计》第九周学习总结
20165233 2017-2018-2 <Java程序设计>第九周学习总结 教材学习内容总结 基础 - URL类:java.net包中的URL类是对统一资源定位符的抽象,使用URL创建对 ...
- django的小操作,查询效率up, 引用art-template模板+djangorestframework
Part1: 提高查询效率newses = News.objects.select_related('category', 'author').get(id=1) # category和author字 ...
- License分类 + 引入开源软件时License的注意事项
License分类 GPL: linux.openJDK,openJFX,mysql 融合感染,单独子模块不感染(自己的模块与引入模块的通信方式是socket) openJDK(GNU General ...
- 【C语言】09条件编译
条件编译的概念;通常我们希望程序的其中一部分代码只有在满足一定的情况下才进行编译,否则不参与编译,(只有参与编译的代码最终才能被执行) 这就是条件编译; 基本用法; #if condication01 ...