ajax

ajax(Asynchronous JavaScript and XML, 非同步 JavaScript 及 XML技术);两大功能:
在不重新读取页面的情況下对服务器送出请求,如连动下拉列表呀;
解析、使用 XML 文件.

function getActDefined(stateVal); {
var url = "/servlet/InitAddCustSelect?servCode=" + stateVal;//stateVal是从页面上传到后台servlet的值。
if (window.XMLHttpRequest); { Mozilla, Safari.....
req = new XMLHttpRequest();;
} else if (window.ActiveXObject); {//IE(可跨浏览器);
req = new ActiveXObject("Microsoft.XMLHTTP");;
}
if(req); {
req.open("GET", url, true);;
req.onreadystatechange = complete;//指定的函式名称后不加括号
req.send(null);;
}
}

complete函数,接受返回值并解析。

function complete(); {
if (req.readyState == 4); {//request的返回状态;4表示数据已传回
if (req.status == 200); {//http接受数据状态;200ok,404文件未找到;500服务器内部错
var values = req.responseXML.getElementsByTagName("actDefinedId");;//解析
var lables = req.responseXML.getElementsByTagName("name");; document.theForm.Act_define_id.length = values.length;
for(var i = 0; i < values.length; i++); { document.theForm.Act_define_id.options[i].value = values[i].firstChild.data;//读入下拉表。 document.theForm.Act_define_id.options[i].text = lables[i].firstChild.data;
}}
}
}


处理业务的servlet:


import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.*;
import topway.common.Helper;
import topway.business.SelectParam;
public class InitAddCustSelect
extends HttpServlet {
public InitAddCustSelect(); {
super();;
}
public void destroy(); {
super.destroy();;
}
public void doGet(HttpServletRequest request, HttpServletResponse response); throws
ServletException, IOException {
response.setContentType("text/xml;CHARSET=utf8");;
response.setHeader("Cache-Control", "no-cache");;
String state = request.getParameter("servCode");;//接收request传来的参数
StringBuffer sb = new StringBuffer(
"<?xml version=\"1.0\" encoding=\"GB2312\"?>");;
sb.append("<addCustSelect>");;
Connection conn = null;
try {
conn = Helper.getConnection();;
SelectParam selectBean = new SelectParam();;
ResultSet actDefine = selectBean.getActDefine(conn, state);;
while (actDefine.next();); {
sb.append("<actDefinedId>" + actDefine.getString(1); + "</actDefinedId>");;
sb.append("<name>" + actDefine.getString(2); + "</name>");;
sb.append("<prepayFee>" + actDefine.getString(3); + "</prepayFee>");;
sb.append("<firstInstallFee>" + actDefine.getString(4); +
"</firstInstallFee>");;
sb.append("<ipnums>" + actDefine.getString(5); + "</ipnums>");;
}
}
catch (SQLException ex); {
ex.printStackTrace();;
}
finally {
try {
conn.close();;
}
catch (SQLException ex); {
ex.printStackTrace();;
}
}
sb.append("</addCustSelect>");;
PrintWriter out = response.getWriter();;
out.write(sb.toString(););;//输出
out.close();;
}

public void doPost(HttpServletRequest request, HttpServletResponse response); throws
ServletException, IOException {
doGet(request, response);;
}
}


加载webapplication时初始化servlet,在web.xml中:

<servlet>
<servlet-name>ServletNames</servlet-name>
<servlet-class>cn.common.InitAddCustSelect</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletNames</servlet-name>
<url-pattern>/servlet/InitAddCustSelect</url-pattern>
</servlet-mapping>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值