我想发送通过单击收音机和服务器获取的 queryString 以在 xml 中获得响应。我几乎接近解决方案,无法调试为什么它不起作用的问题。
<script>
$(document).ready(
function() {
$("#myCity").click(
/* $("input[type=radio][name=myCity]").click( */
function() {
var radioCity = $('input:radio[name=myCity]:checked').val();
/* radioCity = $('input[name=myCity]').filter(':checked').value(); */
link = "http://localhost:8080/Shipping_Order/getCity_xml.jsp?qString="+radioCity;
$.ajax({
type:"GET",
url : link,
data : radioCity,
dataType : "xml",
success : function() {
/* var myCity = $('input:radio[name=myCity]:checked').value; */
/* var myCity = $('input[name=myCity]:radio:checked').val() */
for ( var i = 0; i < xmlDoc.getElementsByTagName("city").length; i++) {
$("#radioTable").append(
'<tr><td id="username"'+i+'>'
+ xmlDoc
.getElementsByTagName("username")[i].childNodes[0].nodeValue
+ '</td><td id="city"'+i+'>'
+ xmlDoc
.getElementsByTagName("city")[i].childNodes[0].nodeValue
+ '</td> <td id="contact"'+i+'>'
+ xmlDoc
.getElementsByTagName("contact")[i].childNodes[0].nodeValue
+ '</td></tr>');
}
}
});
});
});
在 jQuery 的点击事件中,变量“radioCity”获取当前单选值,而 ajax“url”通过 GET 请求通过 queryString 发送该值。服务器 (getCity_xml.jsp) 在 xml 数据中响应请求,稍后它将附加选择器名称#radioTable。
在我创建的 HTML 中
getCity_xml.jsp
<%
response.setContentType("text/xml");
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/shipping_order","root","root");
Statement st = con.createStatement();
String myCity = request.getParameter("qString");
ResultSet rs = st.executeQuery("select username, contact, city from user where city ="+myCity);
while(rs.next())
{
out.println("<user>");
out.println("<username>" +rs.getString(1)+ "</username>");
out.println("<contact>" +rs.getInt(2)+ "</contact>");
out.println("<city>" +rs.getString(3)+ "</city>");
out.println("</user>");
}
rs.close();
st.close();
con.close();
}catch (SQLException ex) {out.println("Exception Occured");}
%>