您的位置:首页 > 其它

dom方式ajax

2009-07-23 15:09 134 查看
//js代码

/* 实例化xmlhttp对象 */
function XMLHTTP(){
var xmlhttp=false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
xmlhttp = false;
}
}
if(!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}

/** 回显额度名称 */
function getLimitNameByTransLimitCode(){

var doc;
var result;
var node;
var sErrorMsg;

if(document.form1.TransLimitCode.value.trim() == ''){
return;
}

var xmlHttp=XMLHTTP();
var xmlDoc=new ActiveXObject("Msxml.DOMDocument");
var xmlText="<?xml version=/"1.0/"?>"+
"<Confirm>"+
"<TransLimitCode>" + document.form1.TransLimitCode.value + "</TransLimitCode>"+
"</Confirm>";
xmlDoc.loadXML(xmlText);

xmlHttp.open("POST","<%=request.getContextPath()%>/control/getLimitNameByTransLimitCode",false);
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttp.send(xmlDoc);
if (xmlHttp.status == 200){
result=xmlHttp.responseText;
//alert(result);
var xmldoc = new ActiveXObject("MSXML2.DOMDocument");
xmldoc.loadXML(result);

node=xmldoc.selectNodes("//errorMsg");
for(var i=0;i<node.length;i++){
var oNode=node[i];
sErrorMsg=oNode.text;
}

if("" != sErrorMsg){
alert(sErrorMsg);
document.form1.LimitName.value = '';
return false;
}else{
document.form1.LimitName.value = xmldoc.selectNodes("//LimitName")[0].text;
}

}else{
alert('失败,服务器无响应');
window.returnValue = "";
window.close();
}

return true;
}

//java 代码
/**
* 根据额度控制代码取额度名称
* @param request
* @param response
* @return
* @throws Exception
*/
public static String getLimitNameByTransLimitCode(HttpServletRequest request, HttpServletResponse response) throws Exception {

String errorMsg = "";
String transLimitCode = "";

Map limit = null;

try{
//首先解析ajax流、通过Jdom取参数
SAXBuilder sb = new org.jdom.input.SAXBuilder();
Document doc = sb.build(request.getInputStream());
Element root = doc.getRootElement();
transLimitCode = root.getChild("TransLimitCode").getText();

//取额度控制内容
limit = getBankLimitMgr(transLimitCode);

StringBuffer xmlText = new StringBuffer();
xmlText.append("<root>").append("/n");

if(null==limit){
errorMsg = transLimitCode+":认购额度控制编号不存在!";
}else{
xmlText.append("<LimitName>").append(DealString.dealNull(limit.get("LimitName"))).append("</LimitName>").append("/n");
}
xmlText.append("<errorMsg>").append(errorMsg).append("</errorMsg>").append("/n");
xmlText.append("</root>").append("/n");

response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.write(xmlText.toString());
out.flush();
out.close();
}catch(LCUserException e){
LcDebug.logError("取额度名称数据库异常" + e);
return "error";
}catch(Exception e){
LcDebug.logError("拷贝产品信息异常" + e);
return "error";
}

return "success";
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: