国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > AJAX > 正文

基于Ajax技術實現考試倒計時并自動提交試卷

2024-09-01 08:27:55
字體:
來源:轉載
供稿:網友

1.概述

在開發網絡考試系統時,考試計時并自動提交試卷是必不可少的功能。由于在答卷過程中,試卷不能刷新,所以需要使用Ajax實現無刷新操作。運行本實例,訪問準備考試頁面index.jsp,在該頁面中,單擊“開始考試”按鈕,將打開新窗口顯示開始考試的頁面,如圖10.1所示,頁面會自動計時,當考試時間結束時,將自動提價試卷。

2.技術要點

主要是利用Ajax異步提交技術和Servlet技術實現的。顯示在考試頁面中的計時時間是在Servlet中設置的,需要通過Ajax的異步提交不斷的請求Servlet,從而獲得服務器返回的最新的計時時間的數據。為了便于維護和代碼的重用,可以將Ajax的請求方法封裝到一個JS文件中,該方法可以作為一個公共方法,在程序中使用時可以直接調用。

3.具體實現代碼

在JS文件中構建XMLHttpRequest對象以及請求方法,如下代碼所示:

/*** 構建XMLHttpRequest對象并請求服務器* @param reqType:請求類型(GET或POST)* @param url:服務器地址* @param async:是否異步請求* @param resFun:響應的回調函數* @param parameter :請求參數* @return :XMLHttpRequest對象*/function httpRequest(reqType,url,async,resFun,parameter){ var request = null;if( window.XMLHttpRequest ){ //非IE瀏覽器,創建XMLHttpRequest對象request = new XMLHttpRequest();}else if( window.ActiveXObject ){ //IE瀏覽器,創建XMLHttpRequest對象var arrSignatures = ["Msxml2.XMLHTTP", "Microsoft.XMLHTTP", "Microsoft.XMLHTTP", "MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP"]; for( var i = 0; i < arrSignatures.length; i++ ){request = new ActiveXObject( arrSignatures[i] );if( request || typeof( request ) == "object" )break;}}if( request || typeof( request ) == "object" ){if(reqType.toLowerCase()=="post"){ //以POST方式提交request.open(reqType, url, true); //打開服務器連接//設置MIME類型request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");request.onreadystatechange = resFun; //設置處理響應的回調函數parameter = encodeURI(parameter); //將參數字符串進行編碼request.send(parameter); //發送請求}else{ //以GET方式提交url = url+"?"+parameter; request.open(reqType, url, true); //打開服務器連接request.onreadystatechange = resFun; //響應回調函數request.send(null); //發送請求}}else{alert( "該瀏覽器不支持Ajax!" );} return request;} 

(1)新建index.jsp頁,該頁面是用戶訪問的初始頁。在頁面中主要包含一個“開始考試”按鈕,該按鈕的onclick事件將調用打開考試窗口的JavaScript函數,關鍵代碼如下:

function showWindow(){ window.open('StartExam?action=startExam','','width=750,height=500,scrollbars=1');} 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绵竹市| 南昌县| 峨眉山市| 宜黄县| 德兴市| 东兰县| 黄冈市| 七台河市| 天津市| 大埔县| 武川县| 汉阴县| 太仓市| 漯河市| 吉木萨尔县| 淮滨县| 铜鼓县| 南召县| 赞皇县| 城固县| 仁怀市| 沅陵县| 东台市| 洛宁县| 凉城县| 井研县| 望谟县| 山西省| 惠安县| 尉犁县| 百色市| 香格里拉县| 禄劝| 响水县| 和顺县| 怀来县| 吉木萨尔县| 井研县| 吴旗县| 磐石市| 沙雅县|