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) 函数可计算某个字符串,并执 ...
随机推荐
- shell 11函数
函数定义 function 方法名(){ command return int; } 注意:function可加可不加 #shell #!/bin/sh function fun1(){ echo & ...
- [UE4]射击和直线追踪
只有有朝向的组件(如character.Controller等)才能动态获取到朝向,在编辑视图中会有一个箭头表示正前方: 如果是没有朝向的组件(如摄像机),则获取到的朝向永远是固定的
- thinkphp 5.0手记
场景配置,可配置多个数据库,按需求加载 数组合并:array_merge();键名相同后面覆盖前面 array_merge_recursive();键名相同,键值合并 对与http://localho ...
- MYSQL中只知表名查询属于哪个SCHEMA
只知道表名XXX查该表属于哪个schema.以及该表有哪些列等信息 SELECT * from information_schema.columns WHERE table_name = 'xxx'; ...
- Web 项目遇到的乱码问题
问题代码: jsp: <%@ page language="java" contentType="text/html; charset=UTF-8" pa ...
- html 更新
HTML介绍 Web服务本质 import socket sk = socket.socket() sk.bind(("127.0.0.1", 8080)) sk.listen(5 ...
- django-查询按时间排序
Meta类实现 class News(models.Model): title = models.CharField(max_length=35) desc = models.CharField(ma ...
- 下载Chrome独立版(alternate/offline Installer)的地方
因为Great fire wall,Chrome无法更新,下载独立版(alternate/offline Installer)的地方 很多朋友可以用proxy firefox访问google,却无法让 ...
- 《内存数据库和mysql的同步机制》
如下图
- php获取服务器信息类
<?php/**+------------------------------------------------------------------------------* 获取服务器信 ...