1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > ajax请求php返回xml数据格式 ajax传输的数据格式(XML json)怎么获取解析

ajax请求php返回xml数据格式 ajax传输的数据格式(XML json)怎么获取解析

时间:2020-07-19 18:31:22

相关推荐

ajax请求php返回xml数据格式 ajax传输的数据格式(XML json)怎么获取解析

ajax传输数据格式

ajax传输XML

XML介绍

XML 指可扩展标记语言EXtensible Markup Language,虽然格式和html类似,但是是用来传递数据的。

周杰伦

18

途牛

XML是纯文本,这点跟HTML很像,所以我们可以用任何的文本编辑软件去打开编辑它

XML语法

第一行是XML的声明,指定XML版本(1.0)以及使用的编码(UTF-8万国码)

自定义标签:XML中没有默认的标签,所有的标签都是定义者自定义的

双标签:XML中没有单标签,都是双标签

标签内

根节点:XML中必须有一个根节点,所有的子节点都放置在根节点下

XML属性跟HTML一样,XML的标签里面也能够添加属性type = 'text',但是不建议这样用,而是使用标签的方式来表述内容

Anna

Smith

female

Anna

Smith

XML解析:因为XML就是标签,所以直接用解析Dom元素的方法解析即可

Document

fox

18

小花花

//获取方法

var xmlObj = document.getElementById("personXML");

var name = xmlObj.getElementsByTagName('name')[0].innerHTML;

console.log(name);

PHP中设置Header:在php中如果要使用xml传输数据,需要使用header()设置返回的内容为xml

header('content-type:text/xml;charset=utf-8');

ajax传输json

JSON语法 JSON(JavaScript Object Notation),是ECMAScript的子集,作用是进行数据的交换,而且由于语法更为简洁,网络传输,以及机器解析都更为迅速.

语法规则

数据在键值对中

数据由逗号分隔

花括号保存对象

方括号保存数组

数据类型

数字(整数或浮点数)

字符串(在双引号中)

逻辑值(true 或 false)

数组(在方括号中)

对象(在花括号中)

null

// 基本对象

{

"name":"fox",

"age":"18",

"sex":"true",

"car":null

}

// 数组

[

{

"name":"小小胡",

"age":"1"

},

{

"name":"小二胡",

"age":"2"

}

]

JSON解析

JSON.parse()方法:将JSON字符串转化为JavaScript对象

JSON.stringify()方法:将JavaScript对象,转化为JSON字符串

由于老式IE(8以下)浏览器中没有JSON对象,通过导入JSON2.js框架即可解决,框架获取地址为:JSON2.js_github地址

var Obj = {

name:"fox",

age:18,

skill:"study"

};

console.log(Obj);

// 将JavaScript对象格式化为JSON字符串

var jsonStr = JSON.stringify(Obj);

console.log(jsonStr);

// 将JSON字符串转化为JavaScript对象

var jsonObj = JSON.parse(jsonStr);

console.log(jsonObj);

使用eval()方法:需要注意的是,eval方法需要将内容使用()包起来

var jsonStr ={

"name":"fox",

"age":18,

"skill":"study"

};

var jsonObj = eval('('+jsonStr+')');

console.log(jsonObj);

PHP中

**json_decode()**方法: 将json字符串转化为变量

**json_encode()**方法: 将变量转化为json字符串

header("Content-Type:text/html;charset=utf-8");

// json字符串

$jsonStr = '{"name":"易峰","age":54,"skill":"歌神"}';

// 字符串转化为 php对象

print_r(json_decode($jsonStr));

echo "

";

// php数组

$arrayName = array('name' =>'littleFox' ,'age' => 13 );

// php对象 转化为 json字符串

print_r(json_encode($arrayName));

?>

//输出结果为:

stdClass Object ( [name] => 易峰 [age] => 54 [skill] => 歌神 )

{"name":"littleFox","age":13}

注意点

如果不牵扯到将数据发送到服务器,那么get和post请求唯一的区别只有open方法中设置的请求方法。

get方法发送数据是url之后拼接;

post发送数据是通过send方法发送:.send('name=jack&age=18'),格式就是key=value&key2=value2的字符串。

如果想要使用Post发送数据给服务器,需要进行如下设置:.setRequestHeader('Content-type','application/x-www-form-urlencoded'),在open和send之间添加这行代码。

.setRequestHeader():能够设置一些自定义的键值对。

array_random(array,number):随机的数组,取几个。(取数组中的随机键)。

读取文本文档:file_get_contents(url);

字符串转化为数组,并且通过,分隔:explode(',',要要分隔的字符串);

wamp:window apache php mysql(数据库关键,用来保存数据,对于数据的稳定性、安全性有很多种策略予以保护。)

常见的数据库软件:oracle/mssql(sql server)/mysql/mongdb。

如果使用post的时候不发送任何数据,那么setRequestHeader()可以不写。

ajax配合Php获取xml:如果不做任何的设置仅仅只是读取并返回,那么xml就只是字符串而已(并不好用);

使用:服务端(php代码中需要使用header方法设置,返回的内容是xml);浏览器端ajax对象中获取返回的内容的属性不是responseText了,而是另一个responseXML。

解析方式:在浏览器端如果是通过ajax.responseXML获取的xml对象,就是一个文档对象,支持html页面中默认的documnet.querySelector的方法获取内部元素(document.getElmenetById,document.getElementsByTagName等这些方法都是支持的。)

如果服务器端返回的是xml数据,responseText中也可以获取到字符串,但是处理很麻烦。

json是一种排列数据的格式,载体是字符串,基本上所有的语言都支持json格式的字符串转化为该语言对应的对象。

json:键和值都必须写上双引号,但是如果值是数字可以不加双引号。

JSON.parse();json数据转化为js识别的数据。

使用方式: 浏览器:获取从服务器返回的json格式字符串通过ajax.responseText(获取到的是字符串)----JSON.parse(ajax.responseText)

服务器:准备一个json文件,按照json格式去写内容;json文件中两边的单引号可以不写,因为读出来就是字符串;读取并返回:echo file_get_contents('info/xxx.json');

记得写完的文件放在配置好的网站根目录中,然后开启http服务,在网页中输入127.0.0.1访问哦,如果还不会,可以参考我的一篇博客:WAMP集成环境部分

这些数据格式都了解了吗?在实际应用开发中,我遇到比较多的都是json数据格式,转换的话是非常容易的,多试几次就可以了,或者直接收藏了需要的时候查看一下就OK了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。