function send_request(callback, urladdress, isReturnData){
var xmlhttp = getXMLHttpRequest();
xmlhttp.onreadystatechange = function(){
if (xmlhttp.readyState == 4) {//readystate Ϊ4¼´Êý¾Ý´«Êä½áÊø
try{
if(xmlhttp.status == 200){
if(isReturnData && isReturnData==true){
callback(xmlht ......
ÍøÒ³ÖгöÏÖ“'sys' 䶨Òå
”»ò“'Sys' is undefined”µÄ´íÎó¡£
´ËʱÎÒÃÇÒª×öµÄÊÇÔÚ web.config
ÖÐ <system.web> Ò»½ÚÏÂÃæÌí¼ÓÀàËÆ
ÈçÏÂÄÚÈÝ£º
<httpHandlers>
<add
verb="GET,HEAD" path="ScriptResource.axd"
type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions,
Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
validate="false"/>
</httpHandlers>
×¢Ò⣬ÉÏÃæËµµÄÊÇÀàËÆ£¬ÒòΪ²»Í¬µÄ°æ±¾¿ÉÄܸ÷ÊôÐÔ²»Ïàͬ¡£
ÁíÍ⣬ÏÂÃæÊÇн¨ ASP.NET AJAX-Enabled Web Site Õ¾µãʱ×Ô¶¯´´½¨µÄ web.config£¬¹©Äú²Î¿¼¡£
<?xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup name="system.web.extensions"
type="System.Web.Configuration.SystemWebExtensionsSectionGroup,
System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,
PublicKeyToken ......
ÍøÒ³ÖгöÏÖ“'sys' 䶨Òå
”»ò“'Sys' is undefined”µÄ´íÎó¡£
´ËʱÎÒÃÇÒª×öµÄÊÇÔÚ web.config
ÖÐ <system.web> Ò»½ÚÏÂÃæÌí¼ÓÀàËÆ
ÈçÏÂÄÚÈÝ£º
<httpHandlers>
<add
verb="GET,HEAD" path="ScriptResource.axd"
type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions,
Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
validate="false"/>
</httpHandlers>
×¢Ò⣬ÉÏÃæËµµÄÊÇÀàËÆ£¬ÒòΪ²»Í¬µÄ°æ±¾¿ÉÄܸ÷ÊôÐÔ²»Ïàͬ¡£
ÁíÍ⣬ÏÂÃæÊÇн¨ ASP.NET AJAX-Enabled Web Site Õ¾µãʱ×Ô¶¯´´½¨µÄ web.config£¬¹©Äú²Î¿¼¡£
<?xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup name="system.web.extensions"
type="System.Web.Configuration.SystemWebExtensionsSectionGroup,
System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,
PublicKeyToken ......
xmlÊý¾Ý£º
writer.write("<root>" +
"<name>a</name>" +
"<name>b</name>"+
"</root>");
ǰ̨½âÎö£º
request.onreadystatechange=function(){
if(request.readyState==4){
var x=request.responseXml;
var root=x.documentElement;
var name=root.getElementsByTagName("name");
alert(name.length);
alert(name[1].firstChild.data);
}
}
Êä³ö£ºb
......
ÏîÄ¿ÓÐʱҪÓÃһЩAjaxµÄЧ¹û£¬ÒòΪ±È½Ï¼òµ¥£¬Ò²¾ÍûÓÐÈ¥ÓÃʲôAjax.netÖ®ÀàµÄ¶«Î÷£¬ÊÖд´úÂëÒ²¾ÍʵÏÖÁË¡£¡¢
µÚ¶þÌ죬ÓÐÈËÏòÎÒ±¨¸æ´íÎó£»ËµÊÇÖ»ÓеÚÒ»´Î¶ÁÈ¡µÄÖµÕý³££¬ºóÃæµÄÖµ¶¼²»Õý³££»ÎÒµ÷ÊÔÁËһϠ£¬È·ÊµÓÐÕâÑùµÄÎÊÌ⣬²é³öÊÇÒòΪAJAX»º´æµÄÎÊÌ⣺½â¾ö°ì·¨ÓÐÈçϼ¸ÖÖ:
1¡¢ÔÚ·þÎñ¶Ë¼Ó header("Cache-Control: no-cache, must-revalidate");(ÈçphpÖÐ)
¡¡¡¡2¡¢ÔÚajax·¢ËÍÇëÇóǰ¼ÓÉÏ anyAjaxObj.setRequestHeader("If-Modified-Since","0");
¡¡¡¡3¡¢ÔÚajax·¢ËÍÇëÇóǰ¼ÓÉÏ anyAjaxObj.setRequestHeader("Cache-Control","no-cache");
¡¡¡¡4¡¢ÔÚ Ajax µÄ URL ²ÎÊýºó¼ÓÉÏ "?fresh=" + Math.random(); //µ±È»ÕâÀï²ÎÊý fresh ¿ÉÒÔÈÎÒâÈ¡ÁË
¡¡¡¡5¡¢µÚÎåÖÖ·½·¨ºÍµÚËÄÖÖÀàËÆ£¬ÔÚ URL ²ÎÊýºó¼ÓÉÏ "?timestamp=" + new Date().getTime();
¡¡¡¡6¡¢ÓÃPOSTÌæ´úGET£º²»ÍƼö
1¡¢¼Ó¸öËæ»úÊý
xmlHttp.open("GET", "ajax.asp?now=" + new Date().getTime(), true);
2¡¢ÔÚÒªÒì²½»ñÈ¡µÄaspÒ³ÃæÖÐдһ¶Î½ûÖ¹»º´æµÄ´úÂ룺
Response.Buffer =True
Response.ExpiresAbsolute =Now() - 1
Response.Expires=0
Response.CacheControl="no-cache"
3¡¢Ô ......
<script type="text/javascript" src="jquery-1.3.2.min.js" mce_src="js/jquery.js"></script>
<input name="writer" id="writer" type="text" value="" />
<input name="pass" id="pass" type="password" value="" />
<input type="submit" name="button" id="button" value="Ìá½»" />
<!--ÕâÀï²»ÐèÒªform,ÒòΪÌύʱcallÒ»¸öº¯Êý -->
<script type="text/javascript">
$(document).ready(function(){ //DOMµÄonloadʼþ´¦Àíº¯Êý
$("#button").click(function(){ //µ±°´Å¥button±»µã»÷ʱµÄ´¦Àíº¯Êý
postdata();   ......
AjaxÈ«³ÆÎª“Asynchronous JavaScript and XML”£¨Òì²½JavaScriptºÍXML£©£¬ÊÇÒ»ÖÖ´´½¨½»»¥Ê½ÍøÒ³Ó¦ÓõÄÍøÒ³¿ª·¢¼¼Êõ¡£¸ù¾ÝAjaxÌá³öÕßJesse James Garrett½¨Ò飬Ëü£º
ʹÓÃXHTML+CSSÀ´±íʾÐÅÏ¢£»
ʹÓÃJavaScript²Ù×÷DOM£¨Document Object Model£©½øÐж¯Ì¬ÏÔʾ¼°½»»¥£»
ʹÓÃXMLºÍXSLT½øÐÐÊý¾Ý½»»»¼°Ïà¹Ø²Ù×÷£»
ʹÓÃXMLHttpRequest¶ÔÏóÓëWeb·þÎñÆ÷½øÐÐÒì²½Êý¾Ý½»»»£»
ʹÓÃJavaScript½«ËùÓеĶ«Î÷°ó¶¨ÔÚÒ»Æð¡£
ʹÓÃSOAPÒÔXMLµÄ¸ñʽÀ´´«ËÍ·½·¨ÃûºÍ·½·¨²ÎÊý¡£
ÀàËÆÓÚDHTML»òLAMP£¬AJAX²»ÊÇÖ¸Ò»ÖÖµ¥Ò»µÄ¼¼Êõ£¬¶øÊÇÓлúµØÀûÓÃÁËһϵÁÐÏà¹ØµÄ¼¼Êõ¡£ ......