百度2012年新进本科技术类员工培训教材ajax篇
1. //告诉浏览器不要缓存数据
header("Cache-Control: no-cache");
//这里两句话很重要,第一讲话告诉浏览器返回的数据是xml格式
header("Content-Type: text/xml;charset=utf-8");
2.Get/post区别
Post安全性高,数据量较大,不会出来乱码。发的请求不再写在url中。如:
register.php
var url="/ajax/registerProcess.php";
//这个是要发送的数据
var data="username="+$('username').value;
//打开请求.
myXmlHttpRequest.open("post",url,true);
//还有一句话,这句话必须.
myXmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//指定回调函数.chuli是函数名
myXmlHttpRequest.onreadystatechange=chuli;
//真的发送请求,如果是get请求则填入 null即可
//如果是post请求,则填入实际的数据
myXmlHttpRequest.send(data);
registerPro.php关键码 :
$username=$_POST['username'];
3.返回的4种格式
Html,xml,json
Xml:有时返回的信息,描述能力更强。
注意header中text/xml
回调函数有变化
myXmlHttp取得是一个对像。
Js中的xml dom编程
Js中的xml html编程
没有id,故而使用二步,第一步:取节点;第二步:取节点值。
Var mes = myXmlHttpRequest.responseXML.getElementsByTagName(“mes”)
mes_value=mes[0].childNodes[0].nodeValue;
Json :推荐此格式
① json的格式如下 :
"{属性名:属性值,属性名:属性值,.... }"
<script language=”JavaScript”>
var people = {‘name’ : ‘xiao’,’age’ :’8’} ;
window.alert(typeof people);//看看是何类型
window.alert(people.name);//是一个对像,故而
</script>
因为json数据是原生态数据,因此这种数据格式很稳定,而且描述能力强
② json数据格式的扩展
如果服务器返回的json 是多组数据,则格式应当如下:
$info="[{"属性名":"属性值",...},{"属性名":"属性值",...},....]";
在xmlhttprequest对象接收到json数据后,应当这样处理
例子,服务器程序
$info=’{“res”:”此用户不可用。”}’;
echo $info;
js程序:
回调函数,要改成字符串,不是xml了。
使用eval函数,把mes转成对应的对像
var mes_obj = eval (“(“+mes+”)”);
window.alert(mes_obj) ;
json比xml更好,真的,你们不懂的。当返回多个时,使用[]加起来
若 远程应用程序未知时,可以用xml,如flash播放器,vb程序。xml是世界语,最通用的。
- 1楼zfive5昨天 13:40
- Post安全性高?