设为首页 收藏本站
查看: 2003|回复: 0

[经验分享] AJAX与PHP(一)

[复制链接]

尚未签到

发表于 2018-12-20 06:38:56 | 显示全部楼层 |阅读模式
今天开始学习AJAX和PHP的结合~很久之前就买了关于AJAX的书------~但是一直都没有时间看~国庆回家,就开始学习AJAX~
        javascript一直都有看~所以觉得不是很难,尤其是DOM那里,看多了,就觉得容易理解了~而事件那些,就和VC++或者C++ Builder中的事件处理是类似的.但是js有个我觉得很不好的地方,没有找得到一个很好的编译器来写.有时候打错了代码,要靠运行IE的时候才能知道错哪里~这样效率非常的低.虽然说这样可以给压力自己,要写出正确的代码,但是有时候打错了,就真的很浪费时间~今天中午师兄介绍了一个JS的IDE~确实好用~名字叫Aptana.拥有类似VS的自动填充功能,而且又说明了使用的DOM的哪个级的~以及是否支持IE或者Fire Fox~这样写起代码来~比较爽~可是我今天对着书打了一下午的代码~还是有些显示不出例子中的效果~可能是因为JS不是强类型的语言,所以导致了打错变量名称,产生了新的变量,但是却没有出错.
       今天主要学习的是javascript下灵活的客户端技术.主要练习了JS事件和DOM.经过今天的学习,才知道原来那个 XMLHttpRequest对象就是IE6或者更低版本的IE里面的ActiveXObject("Microsoft.XMLHttp").在IE6或者更低版本的IE中,XMLHttpRequest是ActiveX的控件,而在其他浏览器或者在IE7中,XMLHttpRequest作为本地对象.
       Xmlhttp=new ActiveXObject("Microsoft.XMLHttp");
      与
      Xmlhttp=new XMLHttpRequest();
      是同等效果的代码.
     而后,又学习了CSS的样式表架构.
     今天,就书上例子,自己打了一个AJAX程序
     HTML文件:


  
    AJAX with PHP: Quickstart
   
  
  
    Server wants to know your name:
   
   
  


   JS文件:
   // stores the reference to the XMLHttpRequest object
var xmlHttp = createXmlHttpRequestObject();

// retrieves the XMLHttpRequest object
function createXmlHttpRequestObject()
{
  // will store the reference to the XMLHttpRequest object
  var xmlHttp;
  // if running Internet Explorer
  if(window.ActiveXObject)
  {
    try
    {
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch (e)
    {
      xmlHttp = false;
    }
  }
  // if running Mozilla or other browsers
  else
  {
    try
    {
      xmlHttp = new XMLHttpRequest();
    }
    catch (e)
    {
      xmlHttp = false;
    }
  }
  // return the created object or display an error message
  if (!xmlHttp)

    alert("Error creating the XMLHttpRequest object.");
  else
    return xmlHttp;
}

// make asynchronous HTTP request using the XMLHttpRequest object
function process()
{
  // proceed only if the xmlHttp object isn't busy
  if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
  {
    // retrieve the name typed by the user on the form
    name = encodeURIComponent(document.getElementById("myName").value);
    // execute the quickstart.php page from the server
    xmlHttp.open("GET", "quickstart.php?name=" + name, true);  
    // define the method to handle server responses
    xmlHttp.onreadystatechange = handleServerResponse;
    // make the server request
    xmlHttp.send(null);
  }
  else
    // if the connection is busy, try again after one second  
    setTimeout('process()', 1000);
}

// executed automatically when a message is received from the server
function handleServerResponse()
{
  // move forward only if the transaction has completed
  if (xmlHttp.readyState == 4)
  {
    // status of 200 indicates the transaction completed successfully
    if (xmlHttp.status == 200)
    {
      // extract the XML retrieved from the server
      xmlResponse = xmlHttp.responseXML;
      // obtain the document element (the root element) of the XML structure
      xmlDocumentElement = xmlResponse.documentElement;
      // get the text message, which is in the first child of
      // the the document element
      helloMessage = xmlDocumentElement.firstChild.data;
      // update the client display using the data received from the server
      document.getElementById("divMessage").innerHTML = '' + helloMessage + '';
      // restart sequence
      setTimeout('process()', 1000);
    }
    // a HTTP status different than 200 signals an error
    else
    {
      alert("There was a problem accessing the server: " + xmlHttp.statusText);
    }
  }
}

     PHP文件:
     ';
// create the  element
echo '';

// retrieve the user name
$name = $_GET['name'];
// generate output depending on the user name received from client
$userNames = array('CRISTIAN', 'BOGDAN', 'FILIP', 'MIHAI', 'YODA');
if (in_array(strtoupper($name), $userNames))
  echo 'Hello, master ' . htmlentities($name) . '!';
else if (trim($name) == '')
  echo 'Stranger, please tell me your name!';
else
  echo htmlentities($name) . ', I don\'t know you!';
// close the  element
echo '';
?>




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-653303-1-1.html 上篇帖子: Linux PHP连接MSSQL 下篇帖子: web开发语言的选择:PHP or JAVA
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表