Ajax½éÉÜ XMLHttpRequest
Ajax½éÉÜ
AJAX - ä¯ÀÀÆ÷Ö§³Ö
AJAX µÄÒªµãÊÇ XMLHttpRequest ¶ÔÏó¡£²»Í¬µÄä¯ÀÀÆ÷´´½¨ XMLHttpRequest ¶ÔÏóµÄ·½·¨ÊÇÓвîÒìµÄ¡£IE ä¯ÀÀÆ÷ʹÓà ActiveXObject£¬¶øÆäËûµÄä¯ÀÀÆ÷ʹÓÃÃûΪ XMLHttpRequest µÄ JavaScript ÄÚ½¨¶ÔÏó¡£ÈçÐèÕë¶Ô²»Í¬µÄä¯ÀÀÆ÷À´´´½¨´Ë¶ÔÏó£¬ÎÒÃÇҪʹÓÃÒ»Ìõ "try and catch" Óï¾ä¡£
<script type="text/javascript">
function ajaxFunction()
{
var xmlHttp;
try{
xmlHttp=new XMLHttpRequest();// Firefox, Opera 8.0+, Safari
}
catch (e) {
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");// Internet Explorer 6.0+
}
catch (e) {
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");// Internet Explorer 5.5
}
catch (e) {
alert("ÄúµÄä¯ÀÀÆ÷²»Ö§³ÖAJAX£¡");
return false;}
}}
}
</script>
ÉùÃ÷Ò»¸ö±£´æ XMLHttpRequest ¶ÔÏóµÄ xmlHttp ±äÁ¿¡£È»ºóʹÓà XMLHttp=new XMLHttpRequest() À´´´½¨´Ë¶ÔÏó¡£ÕâÌõÓï¾äÕë¶Ô Firefox¡¢Opera ÒÔ¼° Safari ä¯ÀÀÆ÷¡£¼ÙÈçʧ°Ü£¬Ôò³¢ÊÔInternet Explorer 6.0+ µÄ xmlHttp=new ActiveXObject("Msxml2.XMLHTTP")£¬¼ÙÈçÒ²²»³É¹¦£¬Ôò³¢ÊÔInternet Explorer 5.5+ µÄ xmlHttp=new ActiveXObject("Microsoft.XMLHTTP")¡£¼ÙÈçÕâÈýÖÖ·½·¨¶¼²»Æð×÷Óã¬ÄÇôÕâ¸öÓû§ËùʹÓõÄä¯ÀÀÆ÷ÒѾ̫¹ýʱÁË£¬Ëû»òËý»á¿´µ½Ò»¸öÉùÃ÷´Ëä¯ÀÀÆ÷²»Ö§³Ö AJAX µÄÌáʾ¡£
AJAX - XMLHttpRequest¶ÔÏó
onreadystatechange ÊôÐÔ
onreadystatechange ÊôÐÔ´æÓд¦Àí·þÎñÆ÷ÏìÓ¦µÄº¯Êý¡£ÏÂÃæµÄ´úÂ붨ÒåÒ»¸ö¿ÕµÄº¯Êý£¬¿Éͬʱ¶Ô onreadystatechange ÊôÐÔ½øÐÐÉèÖãº
xmlHttp.onreadystatechange=function()
{
// ÎÒÃÇÐèÒªÔÚÕâÀïдһЩ´úÂë
}
readyState ÊôÐÔ
readyState ÊôÐÔ´æÓзþÎñÆ÷ÏìÓ¦µÄ״̬ÐÅÏ¢¡£Ã¿µ± readyState ¸Ä±äʱ£¬onreadystatechange º¯Êý¾Í»á±»Ö´ÐС££¨ÏêÇé²Î¼û AJAX – readyStateÏêÇ飩
״̬
ÃèÊö
Ïà¹ØÎĵµ£º
ºìÉ«×ÖÌåΪÖ÷Òª´úÂë
jspÒ³ÃæÖÐ
<script language="javascript">
function updateDB(operate){
var objDom=new ActiveXObject("msxml.DomDocument");
var objRoot=objDom.createElement("All");
objDom.appendChild(objRoot);
var k=document.ge ......
±ÈÈçÒª¸øÓû§±¨¸æÒ»¸ö´íÎó£¬ÓÃÏÂÃæµÄ·½·¨£º
ʹÓÃset_error_handlerÉèÖÃ×Ô¼ºµÄ´íÎó´¦Àíº¯Êý£¬ÔÚ±¨´íµÄµØ·½Ê¹ÓÃtrigger_error£¬ÔÚ×Ô¶¨ÒåµÄ´íÎó´¦Àíº¯ÊýÖиøÓû§ÏÔʾһ¸ö³ö´íÐÅÏ¢Ò³Ãæ¡£
µ«
ÊÇÈç¹ûµ÷ÓÃtrigger_errorµÄÕâ¸öÒ³ÃæÊDZ»Ò»´ÎajaxÇëÇó´¥·¢µÄ£¬ÄÇôajax·µ»Øºó½«µÃµ½Ò»´ó¶ÑÓÃÓÚÏÔʾ´íÎóµÄhtml´úÂë¡£¶øÒ»°ã
ajaxµ÷Óö ......
$.ajax({
type: "post",
url: loginUrl,
data: "username=" +uname + "&password=" +pwd,
async: ......
ÎÒÓÃPHPºÍAjax½áºÏ£¬Ìí¼ÓÊý¾ÝÖ®ºó£¬Ë¢ÐÂÇ°Ì¨Ò³Ãæ£¬Êý¾ÝûÓб仯¡£
ÎҸ͝PHP¶¯Ì¬½Å±¾£¬Ö»ÓÐÖØÐÂÕÒ¿ªIEÔÙÊäÈëµØÖ·£¬²ÅÄÜ¿´µ½Ð§¹û¡£
ÒÔÉÏÕâЩÊDz»ÊÇ»º´æµÄÔÒò°¡£¿Ôõô½â¾ö£¿
ajax»º´æÎÊÌâ½â¾ö;¾¶£º
ÊÇ»º´æµÄÎÊÌâ¡£
ÔÚ·þÎñ¶Ë¼Ó header("Cache-Control: no-cache, must-revalidate");
²¢ÇÒÔÚÄãµÄJSÌá½»²ÎÊýÖмÓËæ»ú» ......