JSON PHP中返回JSON数据(多个JSON通过一个大的数组组合成一个JSON字符串),在客户端解析JSON数据减轻服务端压力

本文介绍如何在PHP中构建包含多个JSON对象的大型数组,并将其转换为JSON字符串。服务端通过data.php生成这样的JSON数据,目的是减少客户端请求次数,从而减轻服务器压力。在客户端,JavaScript将用于解析这个单一的JSON字符串,提取所需的数据。
摘要由CSDN通过智能技术生成


data.php(服务端通过一个大的索引数组拼装多个JSON数据成一个大的JSON字符串,只能返回这一个大的JSON字符串):

<?php
header("content-type:text/html;charset=utf-8");
//实现传统分页效果
//连接数据库、获得数据、分页显示
$link = mysql_connect('localhost','root','123456');
mysql_select_db('shop0811', $link);
mysql_query('set names utf8');

//数据分页实现
//① 引入分页工具类
include("./page.class.php");

//② 获得记录总条数/每页显示条数设置
$sql = "select * from sw_goods";
$qry = mysql_query($sql);
$cnt = mysql_num_rows($qry); //数据总条数
$per = 7;//每页显示7条

//③ 实例化分页类对象
$page_obj = new Page($cnt, $per);

//④ 拼装sql语句,获得每页信息
$sql3 = "select goods_name n,goods_price p,goods_number m,goods_weight w from sw_goods ".$page_obj->limit;
$qry3 = mysql_query($sql3);

//⑤ 获得页码列表
$pagelist = $page_obj -> fpage(array(3,4,5,6,7,8));

$p = isset($_GET['page'])?$_GET['page']:1;
$i = ($p-1)*$per+1; //(页码-1)*每页条数+1
$info = array();//声明一个数组,最终把全部数据都集中在此数组里边
while($rst3 = mysql_fetch_assoc($qry3)){
    $rst3['xu'] = $i++;
    $info[] = $rst3;  //通过$info[]索引数组拼装JSON数据。
}
$info[] = $pagelist;//页面列表。通过$info[]索引数组拼装多个JSON数据。$info[]是索引数组,在PHP中索引数组会序列化成JavaScript的数组-->[{第一条数据},{第二条数据},{第三条数据},"pageList字符串"]
echo json_encode($info);

//把全部数据通过json格式提供出来
//json_encode()只允许使用一次
//这就要求把提供的信息组织为一个大的数组
index.html(浏览器端解析大的JSON数据,减轻服务端压力):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
    <head>
        <title>新建网页</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta name="description" content="" />
        <meta name="keywords" content="" />

        <script type="text/javascript">

        //通过ajax获得分页信息
        function showpage(url){
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值