Ajax生成xml和生成解析json

我们先来看看Ajax解析xml的过程:

首先我们先得需要一个数据表,如图


我们做的就是把test数据库下,student表下的数据先生成XML,然后在解析。

这里我们先写一个链接数据库和生成xml的文件的php

如图

链接数据库我就不多解释了请看,值得注意的是代码中画黑圈的地方,和划横线的地方比较一下,不难发现,多了一个点,小编在写这段代码的时候,运行时老是显示空白页,结果发现是这个点漏了。这个点意思就是添加的意思,如果没了就成了赋值,这个细节得注意一下。在代码的倒数第三行有个头,这个头的意思是告诉访问者这是一个xml文件,现在先不做解析。来看一下效果图这里我们用的谷歌浏览器


运行出来的文件和数据库一个不差,说明我们成功了,然后我们就去写一个访问者,这个属于小编自己命名的方法(每个人有不同的记忆方法,我把请求数据发送数据的叫做访问者)。代码如图


代码简单就是在Ajax的构造方法中多了两行代码  花圈的是返回一个XML文件,值的注意的是,被访问者不返回或者 echo,d这个对象就会为空,至于下一行代码也不难理解,xhr.responseXML返回的是结构明确的字符串,在加上在被访问者头的作用下,让浏览器更加明确该如何解析,把他解析成了一二叉树,跟js获取表格数据一样的二叉树,如图是一个树


这样就能很清楚解析出每个数据。

XML之所以广泛,就因为XML数据结构化明确,适合大数据传输。

但是,在PHP中生成XML数据时,需要我们填写很对生成标签,然后声明响应头尾XML;

而在JS解析时,也要进行DOM节点的遍历查找;

而字符串,没有结构化,容易造成混乱,无法完成大量数据的传输;

难道,我们就不能创造一种具有结构明确的字符串格式吗?

生成和解析简单,易读且结构化明确,适合大数据传输的字符串结构:JSON

我们再来看看解析JSON:

具体操作步骤和上面解析XML差不多

数据还是上面的数据

这是本访问者


我们这里用了一个数组来储存数据,容易操作

在末尾我们用了json_echcode()这个函数把数组里的数据处理成json的格式我们来看一下

这就是json的格式

访问者如图


这里无非多了个json.parse的函数,这个就当与翻译器,然后用一个循环把他们输出来,注意的是,翻译过来的是数组。

小知识:

在接着往下学的时候我就对四个函数产生了混乱,分别是JSON.stringify()、JSON.parse()、JSON_encode()、JSON_decode();

我相信也有人会遇到同样的问题,经过研究

JSON.stringify()、JSON.parse()是JavaScript中函数

JSON_encode()、JSON_decode()是PHP中的函数

JSON.stringify()和JSON_encode()都是把普通字符串转换成JSON字符串

JSON.parse()和JSON_decode()都是把JSON字符串转换成普通字符串


上面的从操作从大方面就是把数据从数据库导出来,然后利用json进行处理,以便更好的处理数据。我在这里称为大生成。

现在我们是把数据向数据库里存,我这里称为大解析。

首先我们先准备一下数据库


这是数据库名为test,表为student,现在一个数据都没有

访问者的代码如下:这里用一个无刷新注册小案例来诠释一下

如图


访问者效果图:


被访问者代码:


特别注意:这里有一个json_decode的代码,是为了把传过来的json字符串转换成普通字符串,这里在后面还有一个参数,true表示返回一个数组,默认为false返回的是一个对象,一般我们都会用数组,这样操作数据方便。

具体操作我们先输入一个姓名为张三,年龄为18,性别为男的数据

这里会返回一个结果告诉你是否添加成功,接下来我们来看看数据库是否被添加


结果已经显示,说明我们已经成功








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值