项目需求:

在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数据的更多相关文章

  1. ajax请求解析springmvc返回的json数据

    需要使用的框架 spring3.0 jquery1.9.0(简化ajax开发的js库) Jackson(json处理器):jackson-core-asl-1.9.2.jar,jackson-mapp ...

  2. js的eval函数解析后台返回的json数据时为什加上圆括号eval("("+data+")"),而HTML页面定义的数据不用

    一,情况如下,这是成功代码: $(function () { $.ajax({ url: "Demo.aspx", type: "post", data: { ...

  3. js解析php返回的json数据无法获取length的问题分析

    1.问题出现的过程,js解析php json_encode 的数据,无法获取长度信息,提示undefined   debug:       首先打印查看了php encode后的数据,返现最外层是一个 ...

  4. C# dynamic类型序列化和反序列化之Newtonsoft.Json,动态解析远端返回的jSON数据

    一.说明 1.Newtonsoft.Json 中的Linq To Json中提供了方便的json数据查询.修改等操作. 例如:JObject,JArray 2.在JObject.FromObject( ...

  5. ajaxFileUpload上传文件成功后却无法解析服务器返回的json数据

    可能是应该返回内容带了标签,过滤下 var index=data.indexOf("<"); if (index!=-1){ data=data.substring(0,in ...

  6. SpringMVC响应Ajax请求(@Responsebody注解返回页面)

    项目需求描述:page1中的ajax请求Controller,Controller负责将service返回的数据填充到page2中,并将page2整个页面返回到page1中ajax的回调函数. 一句话 ...

  7. Jquery发送ajax请求以及datatype参数为text/JSON方式

    Jquery发送ajax请求以及datatype参数为text/JSON方式 1.方式一:datatype:'text' 2.方式二:datatype:'JSON' 3.使用gson-1.5.jar包 ...

  8. 【转】Jquery ajax方法解析返回的json数据

    转自http://blog.csdn.net/haiqiao_2010/article/details/12653555 最近在用jQuery的ajax方法传递接收json数据时发现一个问题,那就是返 ...

  9. JS前端取得并解析后台服务器返回的JSON数据的方法

    摘要:主要介绍:使用eval函数解析JSON数据:$.getJSON()方法获得服务器返回的JSON数据 JavaScript eval() 函数 eval(string) 函数可计算某个字符串,并执 ...

随机推荐

  1. ecliplse java log4j 配置

    log4j的一些配置 a). 新建JavaProject>>新建package>>新建Java类: b). import jar包(一个就够),这里我用的是log4j-1.2. ...

  2. shell 12输入输出重定向

    shell输入/输出重定向 unix系统命令从终端接受输入并将产生的输出发送回终端.命令读取输入的地方,成为标准输入,默认是终端:命令的输出,为标准输出,默认也是终端. command > fi ...

  3. 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 ...

  4. 邮件服务器fixpost服务(1)

    发邮件所用的协议,SMTP协议,端口TCP25 收邮件所用的协议,pop3.imap协议 邮件客户端(MUA):foxmail.闪电邮.邮件大师.outlook 搭建邮件服务器所用到的软件(MTA邮件 ...

  5. 原创)CentOS6.4下安装xampp(一定要在linux上下载)

    一.xampp下载地址: http://sourceforge.net/projects/xampp/files/XAMPP%20Linux/1.8.3/ 二.我下载的是xampp-linux-x64 ...

  6. RNN总结

    RNN既可以表述为循环神 经网络(recurrent neural network),也可以表述为递归神经网络(recursive neural network),前者一般用于处理以时间序列为输入的问 ...

  7. jQuery的selector和context属性

    从jQuery1.3开始添加了这2个属性. 现在我们来看看那这2个属性的用法. selector属性是一个字符串.存储的字符串是选择器. HTML代码: <div class="guo ...

  8. Hibernate 和 MyBatis 的对比

    一.开发对比 开发速度 Hibernate 的真正掌握要比MyBatis来的难些.MyBatis框架较轻量级,相对简单很容易上手,但也相对简陋些.个人觉得要用好 MyBatis 还是要首先理解好 Hi ...

  9. drop解决过拟合的情况

    用到的训练数据集:sklearn数据集 可视化工具:tensorboard,这儿记录了loss值(预测值与真实值的差值),通过loss值可以判断训练的结果与真实数据是否吻合 过拟合:训练过程中为了追求 ...

  10. 门禁系统socket通讯编程

    最近遇到一个socke udp协议通讯的需求,而且是16进制数据接收.这样在传输参数的时候老是提示参数错误,因为计算机是不能直接传输16进制的,会自行转换,所有以下代码非常完美的解决我的问题,同时也让 ...