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) 函数可计算某个字符串,并执 ...
随机推荐
- ecliplse java log4j 配置
log4j的一些配置 a). 新建JavaProject>>新建package>>新建Java类: b). import jar包(一个就够),这里我用的是log4j-1.2. ...
- shell 12输入输出重定向
shell输入/输出重定向 unix系统命令从终端接受输入并将产生的输出发送回终端.命令读取输入的地方,成为标准输入,默认是终端:命令的输出,为标准输出,默认也是终端. command > fi ...
- 1043 Is It a Binary Search Tree (25 分)
A Binary Search Tree (BST) is recursively defined as a binary tree which has the following propertie ...
- 邮件服务器fixpost服务(1)
发邮件所用的协议,SMTP协议,端口TCP25 收邮件所用的协议,pop3.imap协议 邮件客户端(MUA):foxmail.闪电邮.邮件大师.outlook 搭建邮件服务器所用到的软件(MTA邮件 ...
- 原创)CentOS6.4下安装xampp(一定要在linux上下载)
一.xampp下载地址: http://sourceforge.net/projects/xampp/files/XAMPP%20Linux/1.8.3/ 二.我下载的是xampp-linux-x64 ...
- RNN总结
RNN既可以表述为循环神 经网络(recurrent neural network),也可以表述为递归神经网络(recursive neural network),前者一般用于处理以时间序列为输入的问 ...
- jQuery的selector和context属性
从jQuery1.3开始添加了这2个属性. 现在我们来看看那这2个属性的用法. selector属性是一个字符串.存储的字符串是选择器. HTML代码: <div class="guo ...
- Hibernate 和 MyBatis 的对比
一.开发对比 开发速度 Hibernate 的真正掌握要比MyBatis来的难些.MyBatis框架较轻量级,相对简单很容易上手,但也相对简陋些.个人觉得要用好 MyBatis 还是要首先理解好 Hi ...
- drop解决过拟合的情况
用到的训练数据集:sklearn数据集 可视化工具:tensorboard,这儿记录了loss值(预测值与真实值的差值),通过loss值可以判断训练的结果与真实数据是否吻合 过拟合:训练过程中为了追求 ...
- 门禁系统socket通讯编程
最近遇到一个socke udp协议通讯的需求,而且是16进制数据接收.这样在传输参数的时候老是提示参数错误,因为计算机是不能直接传输16进制的,会自行转换,所有以下代码非常完美的解决我的问题,同时也让 ...