今天开始学习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文件:
[url]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/url] ">
[url]http://www.w3.org/1999/xhtml[/url]
">
  
    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文件:
     // we'll generate XML output
header('Content-Type: text/xml');
// generate XML header
echo '';
// 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 '
';
?>