php与ajax技术
web2.0的到来,ajax逐渐成为主流,什么是ajax,ajax的开发模式,优点,使用技术。(ajax概述,ajax使用的技术,需要注意的 问题,在PHP应用ajax技术的应用)
什么是ajax,ajax的开发模式,优点。
ajax是由jesse james garrett创建的,是asynchronous javascript and xml,异步javascript和xml技术,ajax并不是一门新的语言或技术,它是javascript,xml,css,dom等多种技术的组合,可以实现客户端的异步请求操作,可以在不刷新页面下与服务器进行通信,从而减少了用户的等待时间。
ajax开发模式:
浏览器(客户端) http传输,http请求, web服务器 数据存储,后端处理,继承系统,服务器端。
客户端(浏览器)JavaScript调用,ajax引擎 http请求,http传输, web和xml服务器,数据存储,后端处理,继承系统(服务端)。
优点:减轻服务器的负担,可以把部分由服务器负担的工作转移到客户端上,无刷新更新页面,可以调用xml等外部数据,基于标准化的并被广泛支持的技术。
JavaScript是一种在web页面中添加动态脚本代码的解释性程序语言。
xmlhttprequest
ie浏览器把xmlhttp
var http_request = new ActiveXObject("Msxml2.XMLHTTP");
var http_request = new ActiveXObject("Microsoft.XMLHTTP");
mozailla,safari等其他浏览器
var http_request = new XMLHttpRequest();
if(window.XMLHttpRequest){
http_request = new XMLHttpRequest();
}else if(window.ActiveXObject){
try{
http_request = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
http_request = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){}
}
}
XMLHttpRequest对象的常用方法:
open()方法用于设置进行异步请求目标的url
open("method", "url" [,asyncFlag [,"userName" [, "password"]]])
send()方法用于向服务器发送请求
send(content)
setRequestHeader()方法
setRequestHeader()方法为请求的http头设置值
setRequestHeader("label","value")
label用于指定http头,value用于指定http头设置值
open()方法过后才能使用setRequestHeader()方法
abort()方法
abort()方法用于停止当前异步请求
getAllResponseHeaders()方法
getAllResponseHeaders()方法用于以字符串形式完整的http头信息。
xmlhttpRequest对象常用的属性
onreadystatechange 每个状态改变时都会触发这个事件处理器,通常会调用一个JavaScript函数。
readyState 请求的状态:
0 为未初始化
1 为正在下载
2 为已加载
3 在交互中
4 为完成
responseText 服务器的响应,表示字符串
responseXML 服务器的响应,表示xml
status 返回服务器的http状态码
statusText 返回http状态码对应的文本
xml语言为可扩展的标记语言,提供了用于描述结构化数据的格式。xmlHttpRequest对象与服务器交换的数据,通常采用xml格式。
dom为文档对象模型,为xml文档的解析定义了一组接口。
在PHP中应用AJAX技术检测用户名
类别添加
xml基础技术
了解xml,使用simpleXML解析文档的方法
遍历xml文档,修改,保存xml,创建xml文档的方法
xml语法
xml文档结构,xml声明,处理指令,注解,xml元素,xml属性,使用cdata标记,xml命令空间。
XML文档结构
XML声明
处理指令
xml-stylesheet:样式表单处理指令
type="text/css":设定了文档所使用的样式是css
href="111.css":设定了样式文件的地址
XML属性
<标签 属性名="属性值" 属性名=""…>内容标签>
SimpleXML
创建SimpleXML对象
Simplexml_load_file()函数,将指定的文件解析到内存中
Simplexml_load_string()函数,将创建的字符串解析到内存当中
Simplexml_load_date()函数,将一个使用dom函数创建的domDocument对象导入到内存当中
遍历所有子元素
children()方法和foreach循环语句可以遍历所有子节点元素
遍历所有属性
SimpleXML对象中的attributes()方法
XML;
$xml_2 = simplexml_load_string($str);
echo '
';
print_r($xml_2);
/* 第三种方法 */
$dom = new domDocument();
$dom -> loadXML($str);
$xml_3 = simplexml_import_dom($dom);
echo '
';
print_r($xml_3);
?>
添加数据
show_message();
break;
case "post_message": //提交
$HawkXML->post_message();
break;
case "add_message": //添加
$HawkXML->add_message($_POST['user'],$_POST['address']);
break;
case "delete_message": //删除
$HawkXML->delete_message($_GET['admin_id']);
break;
}
?>