AJAX 、序列化函数、JSON的介绍
一、AJAX 是Asynchronous JavaScript And XML 的首字母缩写(异步js 及XML) ajax是基于http请求类型:GET/POST,类似form表单提交,使用javascript在浏览器与服务器之间来发送和接受数据,实现页面无刷新(局部刷新)提交数据的一种技术。优点:节省带宽、节约时间、友好体验。
书写格式:<script>
$.ajax({
url: "./2.php", //请求的处理页面。类似form的action
type: “get", //请求的提交类型。类似form的method。可以是get
data: {‘username’:$(‘#pwd’).val() ,‘tel2’:$(‘#tel’).val()}, //请求提交时的参数。
async: true, //请求提交时,异步(默认)或同步:true/false:异步/同步
dataType: “text”, //返回的数据类型 //json/text/html/xml等
success: function(data){ // 返回的处理函数和返回数据data(2.php echo输出的数据)
alert(data); //data的内容,可以是字符串,数组或对象 } });
</script>
“2.php”的代码为:<?php echo 1; ?>
二、什么是序列化函数 :
为了将任意类型变量(除了资源类型的),存储或者在网络中传输,需要将这些变量,
转换成字符串。能将任意类型变量转换成字符串的函数,叫序列化函数,或者叫串
行化函数。 PHP的序列化函数
函数:serialize(任意变量);//序列化成字符串
unserialize(序列化后的字符串);//还原成源数据和类型
例如:<?php
$array = array('key'=>'baidu','url'=>'www.baidu.com');
$a = serialize($array);
echo $a;
$a = unserialize($a);
print_r($a);
?>
三、 json:是一种轻量级的数据交换格式,通常用于不同语言之间的数据传递,
格式:1、[1,2]; 2、{“a”:1,“b”:2}; 3、[{"a":1,"b":2},{"a":1,"b":2}]
说明:方括号保存数组,花括号保存对象,数据在键值中,以逗号分隔;
json_encode(任意变量);//对变量进行JSON编码,只能接受 UTF-8 的变量
json_decode(json后的字符串,true);//JSON 格式的字符串转换为PHP变量
第2个参数,true/false,true:将原键名非数字,转换为关联数组;
默认false把源键名为非数字的数组转换为对象类型;
例如:<?php
$a=array(1,2);
$b=array("a"=>3,4);
$a=json_encode($a);
$b=json_encode($b);
$a=json_decode($a);
$c=json_decode($b,true);
$b=json_decode($b);//输出$a,$b,$c,看效果
?>
四、总结
1、serialize/unserialize是PHP自有函数;
应用:serialize()就是将PHP中的变量如对象(object),数组(array)等等的值序列化为字符串,
方便存储在数据库、Session、Cookie、文件中等
2、json_encode/json_decode 其他语言都有类似的函数,生成的字符串可以给多种语言使用,作为多语言之间数据传递 用。把一个对象或数组转换成json字符串,作用:方便在网络中传输,方便存储。 应用: 手机app java/ios向服务器请求的命令转换成json格式提交到服务器,服务器端的语言无论是否是php,都有具备的反函数将其转换为数组或对象,再进行处理.同样的服务端处理完后也需要将数据转换成json格式返回给手机端.