AJAX在PHP中的简略利用
AJAX在PHP中的简略利用
AJAX无疑是2005年炒的最热的Web开发技术之一,当然,这个功劳离不开Google。我只是一个一般开发者,利用AJAX的中央不是顺便多,我就简略的把我利用的心得说一下。(本文假定用户已经具备JavaScript、HTML、CSS等根本的Web开发才能)
[AJAX引见]
Ajax是利用客户端脚本与Web服务器替换数据的Web运用开发方法。Web页面不用打断交互流程停止重新加裁,就可能动态地更新。利用Ajax,用户可能创建靠近本地桌面运用的间接、高可用、更丰富、更动态的Web用户界面。
异步JavaScript和XML(AJAX)不是什么新技术,而是利用几种现有技术——包括级联样式表(CSS)、JavaScript、XHTML、XML和可扩充样式言语转换(XSLT),开发外观及操作类似桌面软件的Web运用软件。
[AJAX执行原理]
一个Ajax交互从一个称为XMLHttpRequest的JavaScript对象末尾。好像名字所暗示的,它容许一个客户端脚原本执行HTTP申请,并且将会解析一个XML格式的服务器呼应。Ajax解决过程中的第一步是创建一个XMLHttpRequest实例。利用HTTP方法(GET或POST)来解决申请,并将指标URL设置到XMLHttpRequest对象上。
当你发送HTTP申请,你不宿愿阅读器挂起并期待服务器的呼应,取而代之的是,你宿愿经过页面持续响运用户的界面交互,并在服务器呼应真正到达后解决它们。要实现它,你可能向XMLHttpRequest注册一个回调函数,并异步地派发XMLHttpRequest申请。控制权马上就被前往到阅读器,当服务器呼应到达时,回调函数将会被调用。
[AJAX实践运用]
1. 初始化Ajax
Ajax实践上就是调用了XMLHttpRequest对象,那么首先咱们的就必须调用这个对象,咱们构建一个初始化Ajax的函数:
/**
* 初始化一个xmlhttp对象
*/
function InitAjax()
{
var ajax=false;
try {
ajax = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
ajax = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
ajax = false;
}
}
if (!ajax && typeof XMLHttpRequest!='undefined') {
ajax = new XMLHttpRequest();
}
return ajax;
}
你兴许会说,这个代码由于要调用XMLHTTP组件,是不是只要IE阅读器能使,不是的经我实验,Firefox也是能利用的。
那么咱们在执行任何Ajax操作之前,都必须先调用咱们的InitAjax()函数来实例化一个Ajax对象。
2. 利用Get模式
如今咱们第一步来执行一个Get申请,退出咱们需求获取 /show.php?id=1的数据,那么咱们应该怎样做呢?
假定有一个链接:<a href="/show.php?id=1">旧事1</a>,我点该链接的时分,不想任何刷新就可以看到链接的内容,那么咱们该怎样做呢?
//将链接改为:
<a href="#" onClick="getNews(1)">旧事1</a>
//并且设置一个接纳旧事的层,并且设置为不显示:
<div id="show_news"></div>
同时结构相应的JavaScript函数:
function getNews(newsID)
{
//假设没有把参数newsID传出去
if (typeof(newsID) == 'undefined')
{
return false;
}
//需求停止Ajax的URL地址
var url = "/show.php?id="+ newsID;
//获取旧事显示层的地位
var show = document.getElementById("show_news");
//实例化Ajax对象
var ajax = InitAjax();
//利用Get模式停止申请
ajax.open("GET", url, true);
//获取执行形状
ajax.onreadystatechange = function() {
//假设执行是形状失常,那么就把前往的内容赋值给上面指定的层
if (ajax.readyState == 4 && ajax.status == 200) {
show.innerHTML = ajax.responseText;
}
}
//发送空
ajax.send(null);
}
那么当,当用户点击“旧事1”这个链接的时分,在下面对应的层将显示获取的内容,而且页面没有任何刷新。当然,咱们上面省略了show.php这个文件,咱们只是假定show.php文件存在,并且可以失常工作的从数据库中把id为1的旧事提取进去。
这种模式顺应于页面中任何元素,包括表单等等,其真实运用中,对表单的操作是比较多的,针对表单,更多利用的是POST模式,这个下面将讲述。