锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲综合色婷婷在线观看,亚洲综合久久综合激情久久,亚洲精品国产精品乱码不99 http://www.tkk7.com/libin2722/category/27087.html铏氬叾蹇冿紝鍙В澶╀笅涔嬮棶錛涗笓鍏跺績錛屽彲娌誨ぉ涓嬩箣瀛︼紱闈欏叾蹇冿紝鍙偀澶╀笅涔嬬悊錛涙亽鍏跺績錛屽彲鎴愬ぉ涓嬩箣涓氥?/description>zh-cnFri, 06 Dec 2013 02:41:38 GMTFri, 06 Dec 2013 02:41:38 GMT60Ajax Session Timeout 瓚呮椂 澶勭悊http://www.tkk7.com/libin2722/articles/407255.html紺肩墿紺肩墿Thu, 05 Dec 2013 08:11:00 GMThttp://www.tkk7.com/libin2722/articles/407255.htmlhttp://www.tkk7.com/libin2722/comments/407255.htmlhttp://www.tkk7.com/libin2722/articles/407255.html#Feedback0http://www.tkk7.com/libin2722/comments/commentRss/407255.htmlhttp://www.tkk7.com/libin2722/services/trackbacks/407255.html聽* Author : Larry Li
聽* Date : 2013-12-5
聽* Email : larry.li@aicent.com
聽*/
var Session = function() {
聽聽 聽var defaults = {
聽聽 聽聽聽 聽聽聽 聽title聽聽聽聽聽聽聽 : 'Session Notification',
聽聽 聽聽聽 聽聽聽 聽message聽聽聽聽聽 : 'Your session is about to expire.',
聽聽 聽聽聽 聽聽聽 聽keepAliveUrl : '/admin/session/keep-alive',
聽聽 聽聽聽 聽聽聽 聽redirUrl聽聽聽聽 : '/account/timed-out',
聽聽 聽聽聽 聽聽聽 聽logoutUrl聽聽聽 : '/account/logout',
聽聽 聽聽聽 聽聽聽 聽warnAfter聽聽聽 : 900000, // 15 minutes
聽聽 聽聽聽 聽聽聽 聽redirAfter聽聽 : 1200000 // 20 minutes
聽聽 聽};
聽聽 聽
聽聽 聽var o = defaults, dialogTimer, redirTimer;
聽聽 聽
聽聽 聽var controlRedirTimer = function(action) {
聽聽 聽聽聽 聽switch(action) {
聽聽 聽聽聽 聽聽聽 聽case 'start':
聽聽 聽聽聽 聽聽聽 聽聽聽 聽// Dialog has been shown, if no action taken during redir period, redirect
聽聽 聽聽聽 聽聽聽 聽聽聽 聽redirTimer = setTimeout(function(){
聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽window.location = o.redirUrl;
聽聽 聽聽聽 聽聽聽 聽聽聽 聽}, o.redirAfter - o.warnAfter);
聽聽 聽聽聽 聽聽聽 聽聽聽 聽break;
聽聽 聽
聽聽 聽聽聽 聽聽聽 聽case 'stop':
聽聽 聽聽聽 聽聽聽 聽聽聽 聽clearTimeout(redirTimer);
聽聽 聽聽聽 聽聽聽 聽聽聽 聽break;
聽聽 聽聽聽 聽聽聽 聽case 'restart':
聽聽 聽聽聽 聽聽聽 聽聽聽 聽clearTimeout(redirTimer);
聽聽 聽聽聽 聽聽聽 聽聽聽 聽redirTimer = setTimeout(function(){
聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽window.location = o.redirUrl;
聽聽 聽聽聽 聽聽聽 聽聽聽 聽}, o.redirAfter - o.warnAfter);
聽聽 聽聽聽 聽聽聽 聽聽聽 聽break;
聽聽 聽聽聽 聽}
聽聽 聽};
聽聽 聽
聽聽 聽var controlDialogTimer = function(action) {
聽聽 聽聽聽 聽switch(action) {
聽聽 聽聽聽 聽聽聽 聽case 'start':
聽聽 聽聽聽 聽聽聽 聽聽聽 聽dialogTimer = setTimeout(function(){
聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽$('#sessionTimeout-dialog').modal('show');
聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽controlRedirTimer('start');
聽聽 聽聽聽 聽聽聽 聽聽聽 聽}, o.warnAfter);
聽聽 聽聽聽 聽聽聽 聽聽聽 聽break;
聽聽 聽聽聽 聽聽聽 聽case 'stop':
聽聽 聽聽聽 聽聽聽 聽聽聽 聽clearTimeout(dialogTimer);
聽聽 聽聽聽 聽聽聽 聽聽聽 聽break;
聽聽 聽聽聽 聽聽聽 聽case 'restart':
聽聽 聽聽聽 聽聽聽 聽聽聽 聽clearTimeout(dialogTimer);
聽聽 聽聽聽 聽聽聽 聽聽聽 聽dialogTimer = setTimeout(function(){
聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽$('#sessionTimeout-dialog').modal('show');
聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽controlRedirTimer('restart');
聽聽 聽聽聽 聽聽聽 聽聽聽 聽}, o.warnAfter);
聽聽 聽聽聽 聽聽聽 聽聽聽 聽break;
聽聽 聽聽聽 聽}
聽聽 聽};
聽聽 聽
聽聽 聽var doKeepAlive = function() {
聽聽 聽聽聽 聽$.ajax({
聽聽 聽聽聽 聽聽聽 聽type: 'POST',
聽聽 聽聽聽 聽聽聽 聽url: o.keepAliveUrl,
聽聽 聽聽聽 聽聽聽 聽success: function() {
聽聽 聽聽聽 聽聽聽 聽聽聽 聽// Stop redirect timer and restart warning timer
聽聽 聽聽聽 聽聽聽 聽聽聽 聽controlRedirTimer('restart');
聽聽 聽聽聽 聽聽聽 聽聽聽 聽controlDialogTimer('restart');
聽聽 聽聽聽 聽聽聽 聽}
聽聽 聽聽聽 聽});
聽聽 聽};
聽聽 聽
聽聽 聽return {
聽聽 聽聽聽 聽sessionTimeout: function(options) {
聽聽 聽聽聽 聽聽聽 聽if ( options ) { o = $.extend( defaults, options ); }
聽聽 聽聽聽 聽聽聽 聽
聽聽 聽聽聽 聽聽聽 聽var warning_dialog = '<div class="modal fade" id="sessionTimeout-dialog">'
聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽+'聽聽 聽<div class="modal-dialog modal-small">'
聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽+'聽聽 聽聽聽 聽<div class="modal-content">'
聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽+'聽聽 聽聽聽 聽聽聽 聽<div class="modal-header">'
聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽+'聽聽 聽聽聽 聽聽聽 聽聽聽 聽<button id="_close" type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>'
聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽+'聽聽 聽聽聽 聽聽聽 聽聽聽 聽<h4 class="modal-title">'+ o.title +'</h4>'
聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽+'聽聽 聽聽聽 聽聽聽 聽</div>'
聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽+'聽聽 聽聽聽 聽聽聽 聽<div class="modal-body">'+ o.message +'</div>'
聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽+'聽聽 聽聽聽 聽聽聽 聽<div class="modal-footer">'
聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽+'聽聽 聽聽聽 聽聽聽 聽聽聽 聽<button id="sessionTimeout-dialog-logout" type="button" class="btn btn-default">Logout</button>'
聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽+'聽聽 聽聽聽 聽聽聽 聽聽聽 聽<button id="sessionTimeout-dialog-keepalive" type="button" class="btn btn-primary" data-dismiss="modal">Stay Connected</button>'
聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽+'聽聽 聽聽聽 聽聽聽 聽</div>'
聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽+'聽聽 聽聽聽 聽</div>'
聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽+'聽聽 聽</div>'
聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽+'</div>';
聽聽 聽聽聽 聽聽聽 聽
聽聽 聽聽聽 聽聽聽 聽$('body').append(warning_dialog);
聽聽 聽聽聽 聽聽聽 聽
聽聽 聽聽聽 聽聽聽 聽$('#sessionTimeout-dialog-logout').on('click', function () { window.location = o.logoutUrl; });
聽聽 聽聽聽 聽聽聽 聽
聽聽 聽聽聽 聽聽聽 聽$('#_close,#sessionTimeout-dialog-keepalive').click(function() {
聽聽 聽聽聽 聽聽聽 聽聽聽 聽doKeepAlive();
聽聽 聽聽聽 聽聽聽 聽});
聽聽 聽聽聽 聽聽聽 聽// Begin warning period
聽聽 聽聽聽 聽聽聽 聽controlDialogTimer('start');
聽聽 聽聽聽 聽},
聽聽 聽聽聽 聽
聽聽 聽聽聽 聽sessionTimeoutKeepAlive: function() {
聽聽 聽聽聽 聽聽聽 聽controlRedirTimer('restart');
聽聽 聽聽聽 聽聽聽 聽controlDialogTimer('restart');
聽聽 聽聽聽 聽}
聽聽 聽};
}();

$(function() {
聽聽 聽Session.sessionTimeout({
聽聽 聽聽聽 聽title: 'Session Timeout Notification',
聽聽 聽聽聽 聽message: 'Your session is about to expire.',
聽聽 聽聽聽 聽keepAliveUrl: contextPath + '/admin/session/keep-alive',
聽聽 聽聽聽 聽redirUrl: contextPath + '/account/login',
聽聽 聽聽聽 聽logoutUrl: contextPath + '/account/logout',
聽聽 聽聽聽 聽warnAfter: 1500000,
聽聽 聽聽聽 聽redirAfter: 1780000
聽聽 聽});
聽聽 聽
聽聽 聽$(document).ajaxComplete(function() {
聽聽 聽聽聽 聽Session.sessionTimeoutKeepAlive();
聽聽 聽});
});

紺肩墿 2013-12-05 16:11 鍙戣〃璇勮
]]>
Ajax 鐗規晥搴旂敤30澶?/title><link>http://www.tkk7.com/libin2722/articles/286834.html</link><dc:creator>紺肩墿</dc:creator><author>紺肩墿</author><pubDate>Wed, 15 Jul 2009 03:53:00 GMT</pubDate><guid>http://www.tkk7.com/libin2722/articles/286834.html</guid><wfw:comment>http://www.tkk7.com/libin2722/comments/286834.html</wfw:comment><comments>http://www.tkk7.com/libin2722/articles/286834.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/libin2722/comments/commentRss/286834.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/libin2722/services/trackbacks/286834.html</trackback:ping><description><![CDATA[1) noobSlide- <br />鍏ajax瀹炵幇鐨剆lide鍥劇墖鏂囧瓧杞崲緙撳啿婊氬姩鏁堟灉 <br />婕旂ずhttp://efectorelativo.net/laboratory/noobSlide/sample.html <br /><img src="http://www.51flash.cn/wp-content/uploads/2008/06/a10.jpg" /><br /><a target="_blank">Checkout the Demo here.</a>涓嬭澆 <br />2) Growl 2.0 with Mootools- <br />鍥懼眰娓愰殣娓愭樉鏁堟灉 <br /><img src="http://www.51flash.cn/wp-content/uploads/2008/06/a9.jpg" /><br />婕旂ず: 鎵撳紑婕旂ず欏碉紝鐐瑰嚮宸︿晶Show Growl Smoke. Show Growl 鍗沖彲鐪嬪埌鏁堟灉 <br />涓嬭澆: <br /><br /><br /><br /><br />-------------------------------------------------------------------------------- <br />3) Easiest Tooltip and Image Preview Using jQuery-榧犳爣縐誨埌榪炴帴瀵硅薄涓婏紝婊戝嚭鎻愮ず灞傛晥鏋? <br /><img src="http://www.51flash.cn/wp-content/uploads/2008/06/a1.jpg" /><br /><br />Live Demo婕旂ず <br /><br /><br />-------------------------------------------------------------------------------- <br />4) Sliding top panel using mootools-浠縡lash鐨勮彍鍗曠Щ鍔ㄦ晥鏋? <br /><img src="http://www.51flash.cn/wp-content/uploads/2008/06/a3.jpg" /><br /><br />Live Demo婕旂ず <br /><br /><br />-------------------------------------------------------------------------------- <br />5) Create a Slick Tabbed Content Area using CSS & jQuery-tab鏍囩鍒囨崲鍐呭鏍規嵁楂樺害鑷姩緙撳啿縐誨姩鍙樺寲 <br /><img src="http://www.51flash.cn/wp-content/uploads/2008/06/a4.jpg" /><br /><br />Live Demo婕旂ず <br /><br />-------------------------------------------------------------------------------- <br />6) Custom JavaScript Dialog Boxes-ajax瀵硅瘽妗嗘晥鏋滐紝鍛ㄥ洿欏甸潰鍙樼伆鐧借壊 <br /><img src="http://www.51flash.cn/wp-content/uploads/2008/06/a5.jpg" /><br /><br />Live Demo婕旂ず <br />Download tutorial from Here涓嬭澆 <br /><br />-------------------------------------------------------------------------------- <br />7) Facebook Sliders With Mootools and CSS - <br />鎸夐挳鎷栧姩 鎺у埗鍥劇墖閫忔槑搴﹂珮瀹藉害 <br /><img src="http://www.51flash.cn/wp-content/uploads/2008/06/a6.jpg" /><br /><br />Checkout the Live Demo婕旂ず <br /><br />-------------------------------------------------------------------------------- <br />8 ) Making a Javascript Video Player- <br /><img src="http://www.51flash.cn/wp-content/uploads/2008/06/a21.gif" /><br /><br />Checkout the Demos here. <br /><br />-------------------------------------------------------------------------------- <br />9) Ajax mosaic builder- <br />鏃犳暟寮犲浘鐗囩粍鍚堟帓鍒楁嫾璐存垚涓寮犲浘鐨勬晥鏋? <br /><img src="http://www.51flash.cn/wp-content/uploads/2008/06/a22.jpg" /><br />Checkout the Demo here.婕旂ず <br /><br />-------------------------------------------------------------------------------- <br />10) jQuery flipv()- <br />鏂囧瓧綰靛悜鎺掓晥鏋? <br /><img src="http://www.51flash.cn/wp-content/uploads/2008/06/a27.gif" /><br /><br />Checkout the Demo here.婕旂ず <br />Download it from here.涓嬭澆 <br /><br />-------------------------------------------------------------------------------- <br />11) Drag. Drop. Lock.- <br />鍙嫋鍔ㄧ殑灞? <br /><img src="http://www.51flash.cn/wp-content/uploads/2008/06/a7.jpg" /><br /><br />Checkout the Live Demo婕旂ず <br /><br />-------------------------------------------------------------------------------- <br />12) WebAppers Simple Javascript Progress Bar with CSS-榪涘害鏉?鐐逛腑闂? -鎸夐挳鍙互鐩存帴棰勮鏁堟灉錛? <br /><img src="http://www.51flash.cn/wp-content/uploads/2008/06/a8.jpg" /><br /><br />Checkout the Live Demo婕旂ず <br />Download it from here.涓嬭澆 <br /><br />-------------------------------------------------------------------------------- <br />13) moowheel-鏁版嵁鍥炬爣鐨勫姩鐢繪樉紺烘晥鏋? <br />object. <br /><img src="http://www.51flash.cn/wp-content/uploads/2008/06/a25.gif" /><br />Checkout the Live Demo婕旂ず <br /><br />-------------------------------------------------------------------------------- <br /><br />-------------------------------------------------------------------------------- <br />14) Sliding top panel using mootools- <br /><br /><img src="http://www.51flash.cn/wp-content/uploads/2008/06/a2.jpg" /><br />Download tutorial from Here <br /><br />-------------------------------------------------------------------------------- <br />15) Mocha UI-ajax js浠縲indows妗岄潰鎿嶄綔鐨勬晥鏋滐紝 <br /><img src="http://www.51flash.cn/wp-content/uploads/2008/06/a26.gif" /><br />Checkout the Demo here.婕旂ず <br /><br />-------------------------------------------------------------------------------- <br />16) ddMenu- <br />ajax瀹炵幇鍙抽敭鑿滃崟鏁堟灉 <br /><br /><img src="http://www.51flash.cn/wp-content/uploads/2008/06/a11.jpg" /><br />Checkout the Demo here.婕旂ず <br />Download it from here.涓嬭澆 <br /><br />-------------------------------------------------------------------------------- <br />17) googleDrive-google鍦板浘灝忓伐鍏鳳紝瀹炵幇灝忔苯杞﹀湪鍦板浘涓婅椹訛紝鐢ㄦ柟鍚戦敭 鎺у埗杞﹀ご蹇呴』鏈濆悜椹礬鍓嶆柟錛屽線杈逛笂寮灝變細寮涓嶄笅鍘匯? <br /><br /><img src="http://www.51flash.cn/wp-content/uploads/2008/06/a12.jpg" /><br />-------------------------------------------------------------------------------- <br />18) GlassBox-ajax瀹炵幇綾諱技vista緋葷粺 紿楀彛鍗婇忔槑鐨勭幓鐠冩晥鏋? <br /><br /><img src="http://www.51flash.cn/wp-content/uploads/2008/06/a23.jpg" /><br />Checkout the Demo here.婕旂ず <br />Download it from here.涓嬭澆 <br /><br />-------------------------------------------------------------------------------- <br />19) ProtoFlow-ajax鐩哥墖灞曠ず鏁堟灉錛屽乏鍙蟲粴鍔ㄥ茍鏈夊掑獎鏁堟灉 <br /><br /><img src="http://www.51flash.cn/wp-content/uploads/2008/06/a13.jpg" /><br />Checkout the Demo here.婕旂ず <br />Download it from here.涓嬭澆 <br /><br />-------------------------------------------------------------------------------- <br />20) ASP.NET AJAX AutoComplete Control (Facebook look)-綾諱技google鎼滅儲杈撳叆妗?涓嬫媺鏄劇ず鐩稿叧鍏抽敭瀛楃殑鏁堟灉錛? <br /><br /><img src="http://www.51flash.cn/wp-content/uploads/2008/06/a14.jpg" /><br />Checkout the Demo here.婕旂ず <br />Download it from here.涓嬭澆 <br /><br />-------------------------------------------------------------------------------- <br />21) ADamnIT - JS error notification- A free reporting service that emails you when a JS error occurs in your webpages.欏甸潰js閿欒鎻愮ず錛岀偣鍑繪寜閽? 涓嬫柟鏄劇ず瀵硅瘽紿楀彛 <br /><img src="http://www.51flash.cn/wp-content/uploads/2008/06/a15.jpg" /><br /><br />Checkout the Demo here.婕旂ず <br />Download it from here.涓嬭澆 <br /><br />-------------------------------------------------------------------------------- <br />22) Flexigrid-鏁版嵁琛ㄦ牸table 綰靛悜鐨勨滃垪鈥?鍙互浠縠xcel涓鏍?鎷栧姩 <br /><br /><img src="http://www.51flash.cn/wp-content/uploads/2008/06/a16.jpg" /><br />Checkout the Demo here.婕旂ず <br />Download it from here.涓嬭澆 <br /><br />-------------------------------------------------------------------------------- <br />23) prettyPhoto a jQuery lightbox clone-涓庣幇鍦ㄦ祦琛岀殑ligtbox 鏁堟灉綾諱技錛岀偣灝忓浘錛屽ぇ鍥懼脊鍑猴紝鍛ㄥ洿欏甸潰鍙樼伆鑹插崐閫忔槑銆? <br /><img src="http://www.51flash.cn/wp-content/uploads/2008/06/a17.jpg" /><br /><br />Checkout the Demo here.婕旂ず <br />Download it from here.涓嬭澆 <br /><br />-------------------------------------------------------------------------------- <br />24) JavaScript Color Fading Script-js瀹炵幇棰滆壊娓愬彉鍔ㄧ敾鏁堟灉錛岄紶鏍囩Щ鍒拌〃鏍?鏂囧瓧涓婏紝棰滆壊緙撴參娓愬彉錛岃屼笉鏄竴鑸琧ss瀹炵幇鐨勯鑹茬洿鎺ュ垏鎹€? <br /><img src="http://i.ixnp.com/images/v3.34.2/size_305/loading.gif" /><br />Checkout the Demo here.婕旂ず <br />Download it from here.涓嬭澆 <br /><br />-------------------------------------------------------------------------------- <br />25) Rotator- <br /><br /><img src="http://www.51flash.cn/wp-content/uploads/2008/06/a28.gif" /><br />Checkout the Demo here. <br />Download it from here. <br /><br />-------------------------------------------------------------------------------- <br />26) Kotatsu - a simple html table generator- <br /><br /><img src="http://www.51flash.cn/wp-content/uploads/2008/06/a30.gif" /><br />-------------------------------------------------------------------------------- <br />27) jQuery virtual tour-js铏氭嫙鍏ㄦ櫙錛?60搴︾幆緇曞浘鐗囨祻瑙堬紝榧犳爣縐誨埌鍥劇墖涓嬫柟錛屾樉紺哄乏鍙沖強x鍋滄鎸夐挳錛? <br /><img src="http://www.51flash.cn/wp-content/uploads/2008/06/a18.jpg" /><br /><br />Checkout the Demo here.婕旂ず <br />Download it from here.涓嬭澆 <br /><br />-------------------------------------------------------------------------------- <br />28) Usable directory listings with a little Dojo- <br /><br /><img src="http://www.51flash.cn/wp-content/uploads/2008/06/a19.jpg" /><br />Checkout the Demo here. <br />Download a zip of the header and .htaccess files here. <br /><br />-------------------------------------------------------------------------------- <br />29) Cuzillion鈥?綆鍗曠殑緗戦〉鐗坉reamweaver錛岀偣鍑誨乏渚у垪鍑虹殑html鍏冪礌,瀹炴椂鍦ㄤ腑闂寸殑html浠g爜閮ㄥ垎鏄劇ず錛屽彲浠ユ嫋鍔ㄦ敼鍙樺厓绱犳墍鍦ㄤ綅緗窡灞炴?鍙充晶鐐筩reat棰勮欏甸潰鏁堟灉 <br /><img src="http://www.51flash.cn/wp-content/uploads/2008/06/a20.gif" /><br /><br />-------------------------------------------------------------------------------- <br />30) The Sliding date-picker-鏃墮棿琛紝鍙互鎷栧姩閫夋嫨鐗瑰畾鏃墮棿孌? <br /><img src="http://www.51flash.cn/wp-content/uploads/2008/06/a24.gif" /><br /><br />Checkout the Demo here.婕旂ず <br />Download it from here.涓嬭澆 <img src ="http://www.tkk7.com/libin2722/aggbug/286834.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/libin2722/" target="_blank">紺肩墿</a> 2009-07-15 11:53 <a href="http://www.tkk7.com/libin2722/articles/286834.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>DWR 鍏ラ杸鑸囨噳鐢紙涓夛級http://www.tkk7.com/libin2722/articles/190766.html紺肩墿紺肩墿Fri, 04 Apr 2008 03:37:00 GMThttp://www.tkk7.com/libin2722/articles/190766.htmlhttp://www.tkk7.com/libin2722/comments/190766.htmlhttp://www.tkk7.com/libin2722/articles/190766.html#Feedback0http://www.tkk7.com/libin2722/comments/commentRss/190766.htmlhttp://www.tkk7.com/libin2722/services/trackbacks/190766.html渚嗗鍊婣JAX鐗堢殑鑱婂ぉ瀹ゅ惂錛佸厛鐪嬬湅鐩存帴浣跨敤AJAX瑕佸浣曞仛鍒幫紝棣栧厛闇瑕佷竴鍊嬬啊鍠殑鑱婂ぉ瀹ervlet…
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package onlyfun.caterpillar;
 
import java.io.IOException;
import java.io.PrintWriter;
import java.util.LinkedList;
import java.util.List;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
public class ChatRoomServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
private static LinkedList<Message> messages = new LinkedList<Message>();

public ChatRoomServlet() {
super();
}

private List<Message> addMessage(String text) {
if (text != null && text.trim().length() > 0) {
messages.addFirst(new Message(text));
while (messages.size() > 10) {
messages.removeLast();
}
}
 
return messages;
}
 
private List<Message> getMessages() {
return messages;
}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<Message> list = null;

if("send".equals(request.getParameter("task"))) {
list = addMessage(request.getParameter("msg"));
}
else if("query".equals(request.getParameter("task"))){
list = getMessages();
}
 
PrintWriter out = response.getWriter();
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
 
out.println("<response>");
for(int i = 0; i < list.size(); i++) {
String msg = list.get(i).getText();
out.println("<message>" + msg + "</message>");
}
out.println("</response>");
}
}


Message鐗╀歡濡備笅…
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package onlyfun.caterpillar;
 
public class Message {
private long id = System.currentTimeMillis();
private String text;

public Message(String newtext) {
text = newtext;
if (text.length() > 256) {
text = text.substring(0, 256);
}
text = text.replace('<', '[');
text = text.replace('&', '_');
}
 
public long getId() {
return id;
}
 
public String getText() {
return text;
}
}


Servlet鎺ュ彈璦婃伅鏂板鑸囨煡瑭紝鍒ゆ柗鐨勬柟寮忔槸妾㈡煡璜嬫眰鍙冩暩task鏄痵end鎴杚uery銆?

Servlet鏈冧互XML鍌沖洖鐩墠List鐣朵腑鐨勮▕鎭紝瀹㈡埗绔彲浠ユ煡瑭㈡垨鎻掑叆鏂拌▕鎭檪錛屽彇寰楃洰鍓峀ist涓殑璦婃伅錛屾帴钁楀湪web.xml涓ō瀹氫竴涓?#8230;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<description>
</description>
<display-name>
ChatRoomServlet</display-name>
<servlet-name>ChatRoomServlet</servlet-name>
<servlet-class>
onlyfun.caterpillar.ChatRoomServlet</servlet-class>
</servlet>
 
<servlet-mapping>
<servlet-name>ChatRoomServlet</servlet-name>
<url-pattern>/ChatRoomServlet</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>


鍦ㄧ恫闋佷腑錛屼嬌鐢ㄨ呭彲浠ュ湪杓稿叆璦婃伅寰屾寜涓嬫寜閳曢佸嚭璩囪▕錛屼甫鍦╔ML鍥炴噳鍙栧緱鏅傦紝灝囪▕鎭互涓鍒椾竴鍒楃殑琛ㄦ牸鏂瑰紡欏ず鍑轟締錛屽彟澶栭倓璦畾浜嗛辨湡鎬х殑杓錛屽嵆浣夸笉杓稿叆鏂拌▕鎭紝涔熷彲浠ラ辨湡鎬х殑鍙栧緱鏂扮殑鑱婂ぉ璦婃伅…
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=BIG5">
<title>Chat Room</title>
 
<script type="text/javascript">
var xmlHttp;
 
function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}
 
function sendMessage() {
var msg = document.getElementById("text").value;

if(msg == "") {
refreshMessage();
return;
}

var param = "task=send&msg=" + msg;
ajaxRequest(param);
document.getElementById("text").value = "";
}
 
function queryMessage() {
var param = "task=query";
ajaxRequest(param);
}
 
function ajaxRequest(param) {
var url = "ChatRoomServlet?timestamp" + new Date().getTime();
createXMLHttpRequest();
xmlHttp.onreadystatechange = refreshMessage;
xmlHttp.open("POST", url, true);
xmlHttp.setRequestHeader("Content-Type",
"application/x-www-form-urlencoded;");
xmlHttp.send(param);
}

function refreshMessage() {
if(xmlHttp.readyState == 4) {
if(xmlHttp.status == 200) {
var messages = xmlHttp.responseXML.getElementsByTagName("message");

var table_body = document.getElementById("dynamicUpdateArea");
var length = table_body.childNodes.length;
for (var i = 0; i < length; i++) {
table_body.removeChild(table_body.childNodes[0]);
}

var length = messages.length;
for(var i = length - 1; i >= 0 ; i--) {
var message = messages[i].firstChild.data;
var row = createRow(message);

table_body.appendChild(row);
}
setTimeout("queryMessage()", 2000);
}
}
}
 
function createRow(message) {
var row = document.createElement("tr");
var cell = document.createElement("td");
var cell_data = document.createTextNode(message);
cell.appendChild(cell_data);
row.appendChild(cell);
return row;
}
 
</script>
 
</head>
<body>
 
<p>
Your Message:
<input id="text"/>
<input type="button" value="Send"
onclick="sendMessage()"/>
</p>
 
<p>Messages:</p>
<table align="left">
<tbody id="dynamicUpdateArea"></tbody>
</table>
 
</body>
</html>


綈″柈鎶撳嬬暙闈?#8230; 


鐩存帴鐢ˋJAX錛屽緦绔敤JSP/Servlet錛屾偍瑕佸皪璜嬫眰鍙冩暩鍋氫簺鍒ゆ柗錛岀湅鐪嬫槸鏂板璦婃伅鎴栨煡瑭紝涓﹁鑷杓稿嚭XML錛屾湁鐨勬矑鐨?#8230;

鏀規垚DWR鐨勮┍錛屽氨寰堢啊鍠簡錛屽鍊嬬啊鍠殑Java鐗╀歡…
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package onlyfun.caterpillar;
 
import java.util.LinkedList;
import java.util.List;
 
public class Chat {
private static LinkedList<Message> messages = new LinkedList<Message>();
 
public List addMessage(String text) {
if (text != null && text.trim().length() > 0) {
messages.addFirst(new Message(text));
while (messages.size() > 10) {
messages.removeLast();
}
}

return messages;
}
 
public List getMessages() {
return messages;
}
}


鎺ヨ憲…鍦╠wr.xml涓枊鏀句竴涓?#8230;
1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd">

<dwr>
<allow>
 
<create creator="new" javascript="Chat">
<param name="class" value="onlyfun.caterpillar.Chat"/>
</create>

<convert converter="bean" match="onlyfun.caterpillar.Message"/>
</allow>
</dwr>


浣跨敤鑰呭彇寰楄▕鎭檪錛屾槸鐩存帴鍌沖洖List鐗╀歡錛岃孡ist涓鐨勬槸Message鐗╀歡錛孧essage鐗╀歡鏄嚜璦傜墿浠訛紝conterver璦畾鐐?bean錛岃〃紺篋WR鏈冭嚜鍕曞皣Message鐨刧etter鍚嶇ū杞夋彌鐐哄偝鍥炲鎴剁鐨凧avaScript鐗╀歡涓殑灞э紝渚嬪Message涓湁 getText()錛屽墖鍦ㄥ鎴剁鍙互鐢╩essage.text閫欐ǎ鐨勬柟寮忎締瀛樺彇銆?

鎺ヨ憲鏄啊鍠殑瀹㈡埗绔恫闋?#8230;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=BIG5">
<title>Insert title here</title>
 
<script src="dwr/interface/Chat.js" type="text/javascript"></script>
<script src="dwr/engine.js" type="text/javascript"></script>
<script src="dwr/util.js" type="text/javascript"></script>
 
<script type="text/javascript">
function sendMessage() {
var text = DWRUtil.getValue("text");
DWRUtil.setValue("text", "");
Chat.addMessage(text, gotMessages);
}
 
function gotMessages(messages) {
var chatlog = "";
for (var data in messages) {
chatlog = "<div>" + messages[data].text +
"</div>" + chatlog;
}
DWRUtil.setValue("chatlog", chatlog);
setTimeout("queryMessage()", 2000);
}
 
function queryMessage() {
Chat.getMessages(gotMessages);
}
</script>
 
</head>
<body>
 
<p>
Your Message:
<input id="text"/>
<input type="button" value="Send"
onclick="sendMessage()"/>
</p>
 
<p>Messages:</p>
<div id="chatlog"></div>
 
</body>
</html>


鐣禠ist鐗╀歡鍌沖洖鏅傦紝瀹冩垚鐐篻otMessages(messages)涓殑messages鐗╀歡錛岃宮essages鐗╀歡涓寘鎷?Message鐗╀歡杞夋彌寰屽皪鎳夌殑JavaScript鐗╀歡錛岀敱鏂兼垜鍊戝凡綞撹ō瀹氫簡Converter錛屾墍浠ュ彲浠ョ敤messages[data].text渚?鍙栧緱鍌沖洖鐨勮▕鎭?#8230;

綈″柈鎶撳嬬暙闈?#8230;



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1311605



紺肩墿 2008-04-04 11:37 鍙戣〃璇勮
]]>
Ajax鍩烘湰鍘熺悊http://www.tkk7.com/libin2722/articles/159715.html紺肩墿紺肩墿Sun, 11 Nov 2007 06:07:00 GMThttp://www.tkk7.com/libin2722/articles/159715.htmlhttp://www.tkk7.com/libin2722/comments/159715.htmlhttp://www.tkk7.com/libin2722/articles/159715.html#Feedback0http://www.tkk7.com/libin2722/comments/commentRss/159715.htmlhttp://www.tkk7.com/libin2722/services/trackbacks/159715.htmlAjax鍩烘湰鍘熺悊

鎽樿錛?/span>鏈枃浠嬬粛浜?/span>Ajax鐨勫熀鏈師鐞嗭紝浜や簰榪囩▼鍜屼笌涔嬬浉鍏崇殑鎶鏈強綆鍗曠殑瀹炵幇鏂規硶錛屽湪姝ゅ熀紜涓婄粰鍑轟簡涓涓畬鏁寸殑瀹炰緥錛屼互浣垮緱鑳藉瀵?/span>Ajax鏈変竴涓洿娓呮鐨勭悊瑙c?/span>

鍏抽敭瀛楋細Ajax錛?/span>JavaScript錛?/span>DOM錛屾棤鍒鋒柊欏甸潰錛屼笉瀹屽叏鍒鋒柊

寮曡█

璁$畻鏈烘闈㈠簲鐢ㄤ嬌鎴戜滑寰椾互鐢ㄤ互鍓嶄笉鑳芥兂璞$殑鏂瑰紡澶勭悊澶ч噺鐨勫鏉傛暟鎹紱鍩轟簬璁$畻鏈虹綉緇滅殑C/S妯″紡搴旂敤浣垮緱鍏變韓鏁版嵁鍜岃祫婧愭垚涓虹幇瀹炪傜劧鑰岋紝姝eC/S妯″紡鐨勫簲鐢ㄦ槸鐢變簬浜轟滑涓嶆弧瓚沖崟鏈虹殑妗岄潰搴旂敤涓鏍鳳紝浜轟滑瀵?/span>C/S妯″紡涔熷績瀛樻姳鎬ㄤ簡錛?/span>C/S妯″紡闄や簡甯︾粰鎴戜滑鏁版嵁鍜岃祫婧愬叡浜殑渚垮埄涔嬪錛屼篃緇欐垜浠甫鏉ヤ簡浠ゆ垜浠紙紼嬪簭寮鍙戣璁′漢鍛橈級鍜屽鎴峰ご鐤肩殑閮ㄧ講鍜屽彂甯冮棶棰樸備簬鏄紝B/S妯″紡搴旂敤搴旇繍鑰岀敓錛岃屼笖寰楀埌浜嗚繀閫熺殑鍙戝睍銆?/span>B/S妯″紡搴旂敤絎﹀悎涓瀹氳鑼冪殑嫻忚鍣ㄤ綔涓洪氱敤瀹㈡埛绔紝浠庤岃В鍐充簡C/S妯″紡涓渶浠や漢澶寸柤鐨勯儴緗插拰鍙戝竷闂銆備絾鏄紝鍒版騫舵病鏈夌粨鏉燂紝B/S铏界劧瑙e喅浜嗗簲鐢ㄧ殑閮ㄧ講鍜屽彂甯冮棶棰橈紝鍗村洜涓虹縐嶉檺鍒訛紝浣垮緱搴旂敤娌℃湁浜嗕互鍓嶄赴瀵岀殑浜や簰錛屽茍涓旀瘡嬈′笌鏈嶅姟鍣ㄧ殑浜や簰閮借瀹屽叏鍒鋒柊欏甸潰錛岃繖鏄潪甯哥碂緋曞拰浠や漢涓嶅揩鐨勩傛湰鏂囪璁轟簡濡備綍瑙e喅欏甸潰瀹屽叏鍒鋒柊鍜岀己涔忎氦浜掓х殑闂錛屾垜浠敤鐨勬柟娉曞氨鏄曗?/span>Ajax銆?/span>

Ajax

       閭d箞錛?/span>Ajax鍒板簳鏄粈涔堝憿錛?/span>Ajax錛?/span>Asynchronous JavaScript + XML錛夛紝鍗沖紓姝?/span>JavaScript + XML鐨勭緝鍐欙紝榪欏彧鏄渶鍒濈殑瑙傜偣錛屾渶鍒濈敱Jesse James Garrett鍒涢犲嚭鏉ョ殑銆備絾鏄紝Ajax鐜板湪鐨勮鐩栭潰宸茬粡鏈変簡榪涗竴姝ョ殑鎵╁睍錛屾妸鍏佽嫻忚鍣ㄤ笌鏈嶅姟鍣ㄩ氫俊鑰屾棤闇鍒鋒柊褰撳墠欏甸潰鐨勬妧鏈兘娑電洊鍦ㄥ叾涓簡銆?/span>

       鍧︾巼鐨勮錛?/span>Ajax騫朵笉鏄粈涔堟柊椴滅帺鑹恒備篃灝辨槸璇達紝Ajax騫朵笉鏄竴縐嶅叏鏂扮殑鎶鏈紝鑰屾洿鍍忎竴縐嶆妧宸э紝鏄妸榪囧幓鐨勫嚑縐嶆妧鏈閥濡欑粨鍚堢殑鎶宸с傜湡姝d笌Ajax鐩稿叧鐨勬柊鍚嶈瘝搴旇鏄?/span>XMLHttpRequest鈥曗曚竴涓渶鏃╁湪IE 5涓嚭鐜幫紝鏈榪戝紑濮嬪湪澶氭暟嫻忚鍣ㄥ緱鍒版敮鎸佺殑鐢ㄦ潵瀹炵幇寮傛閫氫俊鐨勫璞°傛濡傚墠闈㈡墍璇達紝B/S妯″紡鏄埄鐢ㄦ祻瑙堝櫒浣滀負鍏墮氱敤鐨勫鎴風錛屾墍浠ヨ鎯沖紓姝ラ氳鎴愪負鍙兘錛屽繀欏昏寰楀埌嫻忚鍣ㄧ殑鏀寔銆傚鏋滀笉鏄湁浜嗘祻瑙堝櫒瀵?/span>XMLHttpRequest瀵硅薄鐨勫箍娉涙敮鎸侊紝鎴戜滑鍙兘涓嶄細鐪嬪埌Ajax鐨勪粖澶╋紝鏇翠笉浼氱湅鍒拌澶氬Ajax鐨勮憲鍚嶅簲鐢紝濡?/span>Google Map錛?/span>Google Suggest錛?/span>Ta-da List絳夈?/span>

       Ajax鐨勫鐞嗚繃紼嬫槸鎬庢牱鐨勫憿錛熶笅鍥句負Ajax搴旂敤鐨勬爣鍑嗗鐞嗘ā寮忋?/span>

鏁版嵁搴?/span>

XHR

浜嬩歡

Function callback()

{//……}

鏈嶅姟鍣ㄨ祫婧?/span>

1

2

6

3

5

4

鍥?/span> 1 鏍囧噯Ajax澶勭悊榪囩▼

浠庡浘涓垜浠彲浠ョ湅鍑猴細鐢變簨浠惰Е鍙戯紝鍒涘緩涓涓?/span>XMLHttpRequest瀵硅薄錛屾妸HTTP鏂規硶錛?/span>Get/Post錛夊拰鐩爣URL浠ュ強璇鋒眰榪斿洖鍚庣殑鍥炶皟鍑芥暟璁劇疆鍒?/span>XMLHttpRequest瀵硅薄錛岄氳繃XMLHttpRequest鍚戞湇鍔″櫒鍙戦佽姹傦紝璇鋒眰鍙戦佸悗緇х畫鍝嶅簲鐢ㄦ埛鐨勭晫闈氦浜掞紝鍙湁絳夊埌璇鋒眰鐪熸浠庢湇鍔″櫒榪斿洖鐨勬椂鍊欐墠璋冪敤callback()鍑芥暟錛屽鍝嶅簲鏁版嵁榪涜澶勭悊銆?/span>

鍦ㄨ繖涓氦浜掕繃紼嬩腑錛屾秹鍙婂埌鍑犵鎴戜滑涓嶅緱涓嶆彁鐨勬妧鏈細

1錛?nbsp;XHTML鍜?/span>CSS鈥曗曠敤鏉ヤ嬌琛ㄧ幇鏍囧噯鍖栵紱

2錛?/span>DOM鈥曗曞姩鎬佺殑淇敼鏂囨。鐨勫唴瀹瑰拰緇撴瀯錛?/span>

3錛?/span>XML鈥曗曡繘琛屾暟鎹殑浜ゆ崲鍜屽鐞嗭紱

4錛?/span>JavaScript鈥曗曞涓婅堪鍑犵鎶鏈繘琛岀粦瀹氾紝浣垮叾鎴愪負鍗忓悓宸ヤ綔鐨勬暣浣撱?/span>

Ajax鐩稿叧鎶鏈強鍩烘湰鍘熺悊

1錛?/span>XMLHttpRequest綆浠?/span>

XMLHttpRequest錛屾槸鎴戜滑寰椾互瀹炵幇寮傛閫氳鐨勬牴鏈傛渶鏃╁湪IE 5 涓互ActiveX緇勪歡瀹炵幇錛涙渶榪戯紝Mozilla 1.0鍜?/span>Safari 1.2涓疄鐜頒負鏈湴瀵硅薄銆?/span>XMLHttpRequest铏界劧涓嶆槸W3C鏍囧噯錛屼絾鍗村緱鍒頒簡FireFox銆丼afari銆丱pera銆並onqueror銆両E絳夌粷澶у鏁版祻瑙堝櫒鐨勬敮鎸併傝繖灝變嬌寰桝jax鏈変簡浠婂ぉ濡傜伀濡傝嵓鐨勫彂灞曘?/span>

鐢╔MLHttpRequest榪涜寮傛閫氳錛岄鍏堝繀欏葷敤JavaScript鍒涘緩涓涓猉MLHttpRequest瀵硅薄瀹炰緥銆傚垱寤篨MLHttpRequest瀵硅薄瀹炰緥鐨勪唬鐮佹竻鍗曞涓嬫墍紺猴細

var xmlHttp;

function createXMLHttpRequest(){

    if(window.ActiveXObject){

        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

    }

    else if(window.XMLHttpRequest){

        xmlHttp = new XMLHttpRequest();

    }

}

鍙互鐪嬪嚭錛屽垱寤篨MLHttpRequest瀵硅薄鐩稿綋瀹規槗銆傞鍏堬紝澹版槑涓涓叏灞鍙橀噺xmlHttp鐢ㄦ潵淇濆瓨鍗沖皢鍒涘緩鐨刋MLHttpRequest瀵硅薄鐨勫紩鐢紱鐒跺悗錛屽湪createXMLHttpRequest()鏂規硶涓畬鎴愬叿浣撳垱寤哄伐浣溿傚洜涓篒E涓庡叾浠栨祻瑙堝櫒瀵筙MLHttpRequest 瀵硅薄鐨勫疄鐜版柟娉曚笉鍚岋紝鍥犳鍦ㄥ垱寤烘椂錛岄氳繃涓涓垎鏀鍙ヨ繘琛屽垽鏂傚鏋渨indow.ActiveXObject璋冪敤榪斿洖true錛屽垯璇佹槑涓篒E嫻忚鍣紝閭d箞灝遍氳繃浼犻?#8220;Microsoft.XMLHTTP”緇橝ctiveXObject()鏉ュ垱寤篨MLHttpRequest瀵硅薄錛屽惁鍒欏氨鎶奨MLHttpRequest瀹炵幇涓烘湰鍦癑avaScript瀵硅薄銆俋MLHttpRequest瀵硅薄鍦ㄤ笉鍚屾祻瑙堝櫒涓婄殑瀹炵幇鏄吋瀹圭殑錛屾墍浠ュ彲浠ョ敤鍚屾牱鐨勬柟娉曡闂甔MLHttpRequest鐨勬柟娉曞拰灞炴с?/span>

琛?1 鏍囧噯XMLHttpRequest鏂規硶

鏂?nbsp;     娉?/span>

璇?nbsp;     鏄?/span>

abort()

getAllResponseHeader()

getResponseHeader("Header")

open("method", "url")

send(content)

setRequestHeader("header", "value")

鍋滄褰撳墠璇鋒眰

鎶奌TTP璇鋒眰鐨勬墍鏈夊搷搴斿ご閮ㄤ綔涓洪敭/鍊煎榪斿洖

榪斿洖鎸囧畾棣栭儴鐨勪覆鍊?/span>

寤虹珛瀵規湇鍔″櫒鐨勮皟鐢?/span>

鍚戞湇鍔″櫒鍙戦佽姹?/span>

鎶婃寚瀹氶閮ㄨ緗負鎵鎻愪緵鐨勫?/span>

琛?2 鏍囧噯XMLHttpRequest灞炴?/span>

灞?nbsp;   鎬?/span>

璇?nbsp;         鏄?/span>

onreadystatechange

readyState

responseText

responseXML

status

statusText

姣忎釜鐘舵佹敼鍙橀兘浼氳Е鍙戣繖涓簨浠跺鐞嗗櫒

璇鋒眰鐨勭姸鎬侊細0錛嶆湭鍒濆鍖栵紝1錛嶆鍦ㄥ姞杞斤紝2錛嶅凡鍔犺澆錛?錛嶄氦浜掍腑錛?錛嶅畬鎴?/span>

鏈嶅姟鍣ㄧ殑鍝嶅簲錛岃〃紺轟負涓涓枃鏈瓧絎︿覆鍊?/span>

鏈嶅姟鍣ㄧ殑鍝嶅簲錛岃〃紺轟負涓涓猉ML

鏈嶅姟鍣ㄧ殑HTTP鐘舵佺爜

HTTP鐘舵佺爜鐨勭浉搴旀枃鏈?/span>

2錛?/span>鍒╃敤XMLHttpRequest瀵硅薄鍙戦佺畝鍗曡姹?/span>

鍒涘緩浜哫MLHttpRequest瀵硅薄錛屽茍浜嗚В浜哫MLHttpRequest瀵硅薄鐨勬柟娉曞拰灞炴т箣鍚庯紝璁╂垜浠潵鐪嬬湅鎬庢牱鍒╃敤XMLHttpRequest瀵硅薄鍙戦佺畝鍗曠殑璇鋒眰銆傚埄鐢╔MLHttpRequest瀵硅薄鍙戦佺畝鍗曡姹傜殑鍩烘湰姝ラ濡備笅錛?/span>

1錛?nbsp;鍒涘緩XMLHttpRequest瀵硅薄瀹炰緥銆?/span>

2錛?nbsp;璁懼畾XMLHttpRequest瀵硅薄鐨勫洖璋冨嚱鏁幫紝鍒╃敤onreadystatechange灞炴с?/span>

3錛?nbsp;璁懼畾璇鋒眰灞炴э細璁懼畾HTTP鏂規硶錛圙ET鎴朠OST錛夛紱璁懼畾鐩爣URL銆傚埄鐢╫pen()鏂規硶銆?/span>

4錛?nbsp;灝嗚姹傚彂閫佺粰鏈嶅姟鍣ㄣ傚埄鐢╯end()鏂規硶銆?/span>

3錛?/span>鍒╃敤DOM瀵規湇鍔″櫒鍝嶅簲榪涜澶勭悊

鍓嶉潰宸茬粡璁劇疆浜嗗洖璋冨嚱鏁幫紝鍥炶皟鍑芥暟姝f槸鐢ㄦ潵澶勭悊鏈嶅姟鍣ㄥ搷搴斾俊鎭殑銆備絾鏄紝鍒繕浜嗘垜浠殑鏈緇堢洰鐨勶細瑙e喅欏甸潰瀹屽叏鍒鋒柊鍜岀己涔忎氦浜掓х殑闂銆傚湪鏈嶅姟鍣ㄥ鎴戜滑鐨勮姹備俊鎭綔鍑哄搷搴斿悗錛屾垜浠氨寰楀疄鐜伴〉闈㈢殑鏃犵紳鏇存柊錛堝氨鏄棤闂儊鐨勬洿鏂頒俊鎭級銆傝瀹炵幇榪欎竴鐐癸紝閭d箞灝變笉寰椾笉鎻愬埌DOM浜嗐?/span>

DOM錛圖ocument Object Model錛?鏂囨。瀵硅薄妯″瀷錛屾槸浠ラ潰鍚戝璞℃柟寮忔弿榪伴〉闈㈡枃妗g殑瀵硅薄妯″瀷銆侱OM涓畾涔変簡錛屼笌騫沖彴鍜岃璦鏃犲叧鐨勶紝鐢ㄦ潵琛ㄧず鍜屼慨鏀規枃妗f墍闇鐨勫璞°佷互鍙婅繖浜涘璞$殑灞炴у拰鏂規硶銆傞氳繃DOM錛屾垜浠彲浠ユ妸欏甸潰涓婄殑鏁版嵁鍜岀粨鏋勬娊璞℃垚涓涓爲鍨嬭〃紺猴紝榪涜屽彲浠ラ氳繃DOM涓畾涔夌殑灞炴у拰鏂規硶瀵規枃妗h繘琛屾搷浣滐紝濡傞亶鍘嗐佺紪杈戠瓑銆?/span>

榪欐牱錛屾湇鍔″櫒鐩稿簲淇℃伅灝卞彲浠ラ氳繃DOM鐨勬柟娉曞拰灞炴э紝鍔ㄦ佺殑鏇存柊鍒伴〉闈㈢殑鐩稿簲鑺傜偣銆?/span>

浠庤屼嬌鐢ㄦ埛鎰熻涓嶅埌鍒鋒柊榪囩▼鐨勫瓨鍦紝鎻愰珮浜嗕氦浜掓с?/span>

4錛?/span>涓涓畬鏁寸殑渚嬪瓙

鍦ㄨ繖閲屾垜浠粰鍑轟竴涓畬鏁寸殑鍒╃敤Ajax鐨勫疄渚嬨傚疄渚嬪寘鍚袱涓枃浠訛細Request.htm鍜孯esponse.xml銆傞氳繃Request.htm鍚戞湇鍔″櫒鍙戦佽姹傦紝鑰孯esponse.xml妯′豢浜嗕粠鏈嶅姟鍣ㄨ繑鍥炵殑鍝嶅簲銆備袱涓枃浠舵竻鍗曞涓嬶細

<!--Request.htm----------------------------------------------------------->

<html>

    <head>

        <title>Ajax搴旂敤瀹炰緥</title>

        <script type="text/javaScript">

            var xmlHttp;

var requestType="";

function createXMLHttpRequest(){

    if(window.ActiveXObject){

        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

    }

    else if(window.XMLHttpRequest){

        xmlHttp = new XMLHttpRequest();

    }

}

function startRequest(theRequestType){

requestType = theRequestType;

    createXMLHttpRequest();

    xmlHttp.onreadystatechange = handleStateChange;

    xmlHttp.open("GET","Response.xml",true);

    xmlHttp.send(null);

}

function myCallback(){

    if(xmlHttp.readyState==4){

        if(xmlHttp.status==200){

            if(requestType=="all")

                listAll();

            else if(requestType=="north")

                listNorth();

        }

    }

}

function listAll(){

    var xmlDoc = xmlHttp.responseXML;

    var allProvs = xmlDoc.getElementsByTagName("prov");

    outputList("all",allProvs);

}

function listNorth(){

    var xmlDoc = xmlHttp.responseXML;

    var north = xmlDoc.getElementsByTagName("north")[0];

    var northProvs = north.getElementsByTagname("prov");

    outputList("north",northProvs);

}

function outputList(title,provs){

    var out=title;

    var currentProv = null;

    for(var i=0;i<provs.length;i++){

    currentProv = provs[i];

    out = out + “<br/>” + currentProv.childNodes[0].nodeValue;

    }

    document.getElementById(title).innerHTML = out;

}

        </script>

    </head>

    <body>

        <h1> Ajax搴旂敤瀹炰緥</h1>

        <form action="#">

<input type="button" value="鍒楀嚭鎵鏈夋部嫻風渷甯?

conclick="startRequest('all');"/>

<div id="all"></div>

<input type="button" value="鍒楀嚭姹熷寳娌挎搗鐪佸競"

        conclick="startRequest('north');"/>

<div id="north"></div>

        </form>

    </body>

</html>

<!--Response.xml---------------------------------------------------------->

<?xml version="1.0"encoding="utf-8" ?>

<provs>

    <north>

            <prov>杈藉畞</prov><prov>娌沖寳</prov><prov>澶╂觸</prov>

<prov>灞變笢</prov><prov>姹熻嫃</prov>

    </north>

    <south>

            <prov>嫻欐睙</prov><prov>紱忓緩</prov><prov>騫夸笢</prov>

<prov>騫胯タ</prov><prov>嫻峰崡</prov><prov>涓婃搗</prov>

<prov>鍙版咕</prov><prov>棣欐腐</prov><prov>婢抽棬</prov>

    </south>

</provs>

灝忕粨

       鎴戜滑宸茬粡浜嗚В浜咥jax鐨勫熀鏈師鐞嗗拰鐩稿叧鐨勬妧鏈傚叾瀹烇紝Ajax灝辨槸閫氳繃JavaScript鍒涘緩XMLHttpRequest瀵硅薄錛屽啀鐢盝avaScript璋冪敤XMLHttpRequest瀵硅薄鐨勬柟娉曞畬鎴愬紓姝ラ氫俊錛涚劧鍚庯紝鍐嶇敱JavaScript閫氳繃DOM鐨勫睘鎬у拰鏂規硶錛屽畬鎴愰〉闈㈢殑涓嶅畬鍏ㄥ埛鏂般?/span>

鍙傝冩枃鐚?/span>

1錛嶳yan Asleson , Nathaniel T.Schutta 钁楅噾鐏電瓑璇戙夾jax鍩虹鏁欑▼ 浜烘皯閭數鍑虹増紺?/span>

2錛庡紶鏅撻緳 鍩轟簬Ajax鐨剋eb搴旂敤 銆婄數鑴戝紑鍙戜笌搴旂敤銆嬬19鍗風8鏈?nbsp;17锝?8欏?/span>

3錛庡彶鑳滆緣 Ajax鎶鏈湪WEB瀹㈡埛绔紑鍙戜腑鐨勫簲鐢?銆婁腑鍥界鐞嗕俊鎭寲銆?006騫?鏈堢9鍗風6鏈? 88锝?0欏?/span>



紺肩墿 2007-11-11 14:07 鍙戣〃璇勮
]]>
Ajax 鍜?XML: 浜旂 Ajax 鍙嶆ā寮?/title><link>http://www.tkk7.com/libin2722/articles/158140.html</link><dc:creator>紺肩墿</dc:creator><author>紺肩墿</author><pubDate>Sun, 04 Nov 2007 16:15:00 GMT</pubDate><guid>http://www.tkk7.com/libin2722/articles/158140.html</guid><wfw:comment>http://www.tkk7.com/libin2722/comments/158140.html</wfw:comment><comments>http://www.tkk7.com/libin2722/articles/158140.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/libin2722/comments/commentRss/158140.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/libin2722/services/trackbacks/158140.html</trackback:ping><description><![CDATA[     鎽樿: Ajax 鍜?XML: 浜旂 Ajax 鍙嶆ā寮? 閬垮厤甯歌鐨?Ajax 浠g爜闄烽槺 ...  <a href='http://www.tkk7.com/libin2722/articles/158140.html'>闃呰鍏ㄦ枃</a><img src ="http://www.tkk7.com/libin2722/aggbug/158140.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/libin2722/" target="_blank">紺肩墿</a> 2007-11-05 00:15 <a href="http://www.tkk7.com/libin2722/articles/158140.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> 主站蜘蛛池模板: <a href="http://roocos.com" target="_blank">亚洲成AV人在线观看天堂无码</a>| <a href="http://ahjmdd.com" target="_blank">亚洲黄片毛片在线观看</a>| <a href="http://6878vip.com" target="_blank">亚洲午夜精品一区二区</a>| <a href="http://942woool.com" target="_blank">秋霞人成在线观看免费视频 </a>| <a href="http://guanxianedu.com" target="_blank">亚洲成a人片77777kkkk</a>| <a href="http://53ggk.com" target="_blank">a毛片久久免费观看</a>| <a href="http://gdfcjzx.com" target="_blank">亚洲美女又黄又爽在线观看</a>| <a href="http://53reniao.com" target="_blank">国产精品福利片免费看 </a>| <a href="http://microston.com" target="_blank">亚洲欧洲日产国产综合网</a>| <a href="http://txtmp3.com" target="_blank">可以免费观看的国产视频</a>| <a href="http://imfever.com" target="_blank">亚洲大尺度无码无码专区</a>| <a href="http://caocl1024liu.com" target="_blank">国产99视频精品免费专区</a>| <a href="http://023npxyy.com" target="_blank">亚洲色偷偷偷网站色偷一区</a>| <a href="http://eeussdd.com" target="_blank">日本免费网站视频www区</a>| <a href="http://bet06966.com" target="_blank">亚洲三级高清免费</a>| <a href="http://wx-jn.com" target="_blank">四虎永久免费网站免费观看</a>| <a href="http://lhtjdj.com" target="_blank">成人国产网站v片免费观看 </a>| <a href="http://266hd.com" target="_blank">亚洲黄片手机免费观看</a>| <a href="http://6777s.com" target="_blank">在线观看片免费人成视频播放 </a>| <a href="http://mangshigas.com" target="_blank">亚洲a级片在线观看</a>| <a href="http://0515zs.com" target="_blank">处破痛哭A√18成年片免费</a>| <a href="http://pecbj.com" target="_blank">免费国产高清毛不卡片基地</a>| <a href="http://grjeans.com" target="_blank">亚洲中文字幕无码一区二区三区</a>| <a href="http://www44414.com" target="_blank">国产激情免费视频在线观看</a>| <a href="http://www-36664.com" target="_blank">亚洲性无码av在线</a>| <a href="http://502274.com" target="_blank">国产国产人免费人成免费视频 </a>| <a href="http://gzqhit.com" target="_blank">国产一级淫片免费播放</a>| <a href="http://317777aa.com" target="_blank">中文字幕版免费电影网站</a>| <a href="http://cykj-tech.com" target="_blank">久久精品国产亚洲av麻豆小说 </a>| <a href="http://yy975.com" target="_blank">日韩午夜免费视频</a>| <a href="http://5138k.com" target="_blank">一本久久A久久免费精品不卡</a>| <a href="http://hnmeiankj.com" target="_blank">亚洲AV综合色区无码一区 </a>| <a href="http://gedebai.com" target="_blank">中文字幕不卡免费视频</a>| <a href="http://mabaolu.com" target="_blank">亚洲成a人片在线观看中文app</a>| <a href="http://cztbm.com" target="_blank">日日夜夜精品免费视频</a>| <a href="http://eddiekidd.com" target="_blank">成人爽a毛片免费</a>| <a href="http://jsjumei.com" target="_blank">亚洲色大成网站www永久网站</a>| <a href="http://cdessc.com" target="_blank">国产亚洲人成网站在线观看</a>| <a href="http://jst-hosp.com" target="_blank">国产大片91精品免费观看不卡</a>| <a href="http://alankell.com" target="_blank">高潮毛片无遮挡高清免费视频</a>| <a href="http://ynxxrh.com" target="_blank">九月丁香婷婷亚洲综合色</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>