PHP+AJAX用GET方式实现无刷新页面
所属分类:PHP工具与代码
  转载自http://www.update8.com/Program/PHP/25905

下面由 PHP教程网 提供
想学习ajax怎么用get和post还有模拟ajax等教程 请关注 ajax实例教程 栏目

学ajax必须知道的三种方法
一、PHP+AJAX用GET方式实现无刷新页面
二、PHP+AJAX用POST方式实现无刷新页面
三、模拟PHP+AJAX实现无刷新页面
今天先只分享PHP+AJAX用GET方式实现无刷新页面
1. 初始化Ajax
Ajax实际上就是调用了XMLHttpRequest对象,那么首先我们的就必须调用这个对象,我们构建一个初始化Ajax的函数:
[code]<script>
/**
* 初始化一个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;
}
</script>[/code]

你也许会说,这个代码因为要调用XMLHTTP组件,是不是只有IE浏览器能使,不是的经我试验,Firefox也是能使用的。
那么我们在执行任何Ajax操作之前,都必须先调用InitAjax()函数来实例化一个Ajax对象。
执行一个Get请求,加入我们需要获取 /show.php?id=1的数据,怎么用ajax的get方法实现无刷新取show.php?id=1时候的数据呢

有一个链接:<a href="/show.php?id=1"></a>新闻1</a>,

当我们点击链接的时候,可以让无刷新执行show.php让当id=1时候获取相应的内容然后用innerHTML显示在一个div层里即可

//将链接改为:
[code]<a href="#" onClick="getNews(1)">新闻1</a>[/code]
//并且设置一个接收新闻的层,并且设置为不显示:
[code]<div id="show_news"></div>[/code]

同时构造相应的JavaScript函数:
[code]
<script>
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) { //成功时候必须符合2种情况4和200 如果对ajax状态码不懂可以访问 http://www.iiwnet.com/ajax/261.html
show.innerHTML = ajax.responseText;
}
}
//发送空
ajax.send(null);
}
</script>
[/code]
那么当,当用户点击“新闻1”这个链接的时候,在下面对应的层将显示获取的内容,而且页面没有任何刷新。当然,我们上面省略了show.php这个文件,我们只是假设show.php文件存在,并且能够正常工作的从数据库中把id为1的新闻提取出来。
这种方式适应于页面中任何元素,包括表单等等,其实在应用中,对表单的操作是比较多的,针对表单,更多使用的是POST方式