prototype.js 사용 경험 치 축적

3683 단어 jsAjaxprototype.js
1.Ajax 는 xml 형식의 대상 을 되 돌려 줍 니 다.
1)프런트 js

function viewIndexGrade(id){
	var offsetObj = event.srcElement;
	var url = "<ww:url value='/xxxAction!getIndexGrades.action'/>?obj.id=" + id;
	var http = new Ajax.Request(url,
		{method: 'get',
		asynchronous: false,
		onComplete:function(oriReq){
			var divObj = document.getElementById("indexGradDiv");
			var sb = "<table class='table-border' align='center' cellspacing='1' cellpadding='1' width='100%'>";
			var responseDoc = oriReq.responseXML;
			var records = responseDoc.documentElement.childNodes;
			if(records.length > 0){
				for(var i = 0; i < records.length; i++){
					var indexCode = records[i].selectSingleNode("indexCode").text;
					var grade = records[i].selectSingleNode("grade").text;
					sb += "<tr>";
					sb += "<td class='table-title' style='height:25px' align='left' width='40%'>" + indexCode + "</td>";
					sb += "<td class='table-content' style='height:25px' align='center'>" + grade + "</td>";
					sb += "</tr>";
				}
				sb += "</table>";
				divObj.style.height = (25 * records.length + 10) + "px";
			}else{
				sb += "<tr>";
				sb += "<td class='table-content' align='center'>     </td>";
				sb += "</tr>";
				sb += "</table>";
				divObj.style.height = "40px";
			}
			divObj.innerHTML = sb;
			while(offsetObj.tagName != "A"){
				offsetObj = offsetObj.parentElement;
			}
			viewDiv(divObj, offsetObj, true, 0, 0);
		}
	});
}
</SCRIPT>

2)웹 워 크 설정

<xwork>
    <package name="XXX" extends="default">
		<action name="xxxAction" class="com.***.***.action.***Action">

			<result name="xml" type="stringreader">
				<param name="inputName">stringReader</param>
				<param name="contentType">text/xml;charset=gb2312</param>
				<param name="parse">false</param>
				<param name="bufferSize">1024</param>
			</result>
			<interceptor-ref name="saveValidationStack"/>
		</action>
	</package>
</xwork>

3)백 스테이지 액 션 클래스 처리

protected String xmlStr = "";
public StringReader getStringReader() {
		return new StringReader("<?xml version=\"1.0\" encoding=\"GBK\"?>"
				+ xmlStr);
	}

public String getIndexGrades() {
		xmlStr = ***Service.getIndexGrades(obj.getId());
		
		return "xml";
	}

getIndexGrades 방법 으로 되 돌아 오 는 xml 형식 은:

<root>
<record>
<indexCode><![CDATA[INDEX]]></indexCode>
<grade><![CDATA[97.81]]></grade>
</record>
</root>

xml 형식의 파일 헤더 가 없 으 면 js 에서 xml 대상 을 찾 을 수 없습니다.

<?xml version=\"1.0\" encoding=\"GBK\"?>

좋은 웹페이지 즐겨찾기