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 ...
- java study2
Intellj小技巧 数组 1.java数组元素类型是唯一的,即一个数组只能存储一种数据类型的数据,而不能存储多种数据类型的数据. 2.java数组的长度,一旦初始化完成,控件就被固定,即数组的长度将 ...
- ESXI5.5设置主机的时间自动同步服务 NTP
背景:现在公司的很多线上服务也都通过虚拟化来实现,最近遇到一个小问题,虚拟机上的时间不准确.原来是虚拟机会主动同步宿主机时间,一般虚拟机中都安装vmware tool工具,这个工具会自动和宿主机进行时 ...
- Linux中make, make install命令分别是什么
用于linux源码安装软件,一般下载源码包得到文件:xxxx.tgz====================================1.解包软件 tar zxf xxxx.tgz======= ...
- tensorflow函数学习:队列和线程
队列函数: FIFOQueue和RandomShuffleQueue 1.FIFOQueue FIFOQueue是先进先出队列,主要针对序列样本.如:使用循环神经网络时,需要处理语音.文字.视频等序列 ...
- 关于javascript的cookie的封装
/******************cookie*********************/ /* cookie的组成部分: 名称:唯一值,不区分大小写,必须经过URL编码 值:必须经过URL编码 ...
- 【洛谷】P1357 花园(状压+矩阵快速幂)
题目 传送门:QWQ 分析 因为m很小,考虑把所有状态压成m位二进制数. 那么总状态数小于$ 2^5 $. 如果状态$ i $能转移到$ j $,那么扔进一个矩阵,n次方快速幂一下. 答案是对角线之和 ...
- Determining IP information for eth0...failed 错误解决
问题描述:虚拟机使用wget命令上网,执行service network restart后出现如下错误Determining IP information for eth0...failed解决办法: ...
- concurrent.futures模块
1.concurrent.futures模块介绍 2.ThreadPoolExecutor线程池使用 3.ProcessPoolExecutor进程池使用 4.其他方法使用 1.concurrent. ...
- java基础:关于java流与文件操作
1.描述:流是字节数据或字符数据序列.Java采用输入流对象和输出流对象来支持程序对数据的输入和输出.输入流对象提供了数据从源点流向程序的管道,程序可以从输入流对象读取数据:输出流对象提供了数据从程序 ...