欢迎来到HELLO素材网! 南京网站制作选择顺炫科技
丰富的DIV CSS模版、JS,jQuery特效免费提供下载
当前位置:主页 > 建站教程 > JS教程 >

AJAX在PHP中的简略利用

发表于2019-04-24 12:03| 次阅读| 来源网络整理| 作者session

摘要: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模式,这个下面将讲述。