JavaScriptMVC模式制作自定义控件的步骤

JavaScriptMVC模式制作自定义控件的步骤

前面我们讲了表现层的制作,接下来是数据层了。我们可以把它看成是一个仓库,需要的时候就调用方法,当然在这之前我们要初始化他。

下面是数据层的代码:

//JavaScriptDocumentMVC-M
//soap连接加dom分析
//要加入"ajaxrequest.js"
functionassessmentListData(userName,assessmentID){
//构造
varajaxobj=false;
this.userName=userName;
this.assessmentID=assessmentID;
varObjSelf;
ObjSelf
=this;
this.callbackdata=function(cbobj){return;}
//
ajaxobj=newAJAXRequest;//创建AJAX对象
ajaxobj.method="POST";//设置请求方式为GET
//参数
ajaxobj.content="userName="+userName+"&assessmentID="+assessmentID+"";
ajaxobj.url
="你的web服务地址/WebService.asmx/GetResultInfo"
//设置回调函数,输出响应内容
ajaxobj.callback=function(xmlobj){
ObjSelf.callbackdata(parseData(xmlobj.responseText));
}
ajaxobj.send();
}

//
functionparseData(str){
//生成xml
varxmlDoc=newActiveXObject("microsoft.xmldom");
xmlDoc.async
=false;
xmlDoc.loadXML(str);


varxmlElement=xmlDoc.documentElement.getElementsByTagName("NewDataSet");
//得到newdataset
varstatisticalInfo=xmlElement.item(0);
varresultArray=newArray();
if(statisticalInfo!=undefined){
for(i=0;i<statisticalInfo.childNodes.length;i++){
if(statisticalInfo.childNodes.item(i).nodeName=="Table1"){
resultArray.push(statisticalInfo.childNodes.item(i).childNodes.item(
1).text);
}
}
}

returnresultArray;
}

在这里我用了一个别人写好的 ajax调用webservice的类,他的名字是AJAXRequest。使用方法很简单。ajaxobj.callback事件就是在得到结果时调用的。同样我们将这个事件映射到assessmentListData.callbackdata的事件上。

接着我们就可以测试这个类是否正常。测试htm:

JavaScriptMVC模式制作自定义控件的步骤<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
JavaScriptMVC模式制作自定义控件的步骤<htmlxmlns="http://www.w3.org/1999/xhtml">
JavaScriptMVC模式制作自定义控件的步骤<head>
JavaScriptMVC模式制作自定义控件的步骤<!--加入webservice连接-->
JavaScriptMVC模式制作自定义控件的步骤<metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/>
JavaScriptMVC模式制作自定义控件的步骤<title>v2</title>
JavaScriptMVC模式制作自定义控件的步骤<scriptlanguage="javascript"src="assessmentListData.js"></script><!--数据层类-->
JavaScriptMVC模式制作自定义控件的步骤<scriptlanguage="javascript"src="ajaxrequest.js"type="text/javascript"></script><!--ajaxwebservice连接类-->
JavaScriptMVC模式制作自定义控件的步骤JavaScriptMVC模式制作自定义控件的步骤<scriptlanguage="javascript"type="text/javascript">
JavaScriptMVC模式制作自定义控件的步骤JavaScriptMVC模式制作自定义控件的步骤functioninit(){
JavaScriptMVC模式制作自定义控件的步骤
vardata=newassessmentListData("test01","86");
JavaScriptMVC模式制作自定义控件的步骤JavaScriptMVC模式制作自定义控件的步骤data.callbackdata
=function(xmlobj){
JavaScriptMVC模式制作自定义控件的步骤alert(xmlobj);
JavaScriptMVC模式制作自定义控件的步骤}

JavaScriptMVC模式制作自定义控件的步骤}

JavaScriptMVC模式制作自定义控件的步骤
JavaScriptMVC模式制作自定义控件的步骤
</script>
JavaScriptMVC模式制作自定义控件的步骤</head>
JavaScriptMVC模式制作自定义控件的步骤
JavaScriptMVC模式制作自定义控件的步骤
<bodyonload="init()">
JavaScriptMVC模式制作自定义控件的步骤<div>测试成绩单数据层</div>
JavaScriptMVC模式制作自定义控件的步骤<div></div>
JavaScriptMVC模式制作自定义控件的步骤</body>
JavaScriptMVC模式制作自定义控件的步骤</html>
JavaScriptMVC模式制作自定义控件的步骤

ajaxrequest.js 在blueidea上下载http://www.blueidea.com/download/product/2006/3993.asp