function createXMLHttpRequest(para1)
{
var url=para1;
if(url=1)
{ var busname=document.getElementsByName("busname").value;
var URL="/BusSystem/BusServlet?Busname="+busname;
}
//Mozilla 浏览器(将XMLHttpRequest对象作为本地浏览器对象来创建)
if(window.XMLHttpRequest)
{ //Mozilla 浏览器
xmlHttp = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{ //IE浏览器
//IE浏览器(将XMLHttpRequest对象作为ActiveX对象来创建)
try
{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{}
}
}
if(!xmlHttp)
{
alert("不能创建XMLHttpRequest对象");
return false;
}
xmlHttp.open("GET",URL,true);
xmlHttp.onreadystatechange=getResult;
xmlHttp.send(null);
} function getResult()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
document.getElementById("result").innerHTML=xmlHttp.responseText;
}
else
{
alert('您查询的内容为空');
}
}
}
HTML代码:
<div id="divOne" style="position:absolute;top:40px;left:0px;visibility:hidden">
<form name="BusServlet"><table>
<tr><td>车次名:</td><td><input type="text" name="busname"/></td></tr>
<tr><td align="center"><input type="button" value="查询" onClick="createXMLHttpRequest(1)"/></td><td align="center"><input type="reset" value="更改"/></td></tr>
</table></form>
</div>
servlet中的代码如下:package com.qt.inquiry;
import com.ht.javabean.DB;
import java.io.*;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.*;
public class BusServlet extends HttpServlet
{ @Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
resp.setContentType("text/html;charset=utf-8");
resp.setHeader("Cache-Control", "no-cache");
resp.setHeader("Pragma","no-cache");
resp.setDateHeader("Expires",0);
String busname=req.getParameter("Busname");
DB db=new DB();
try
{
String sql="select * from BusLine where BL_Num='"+busname+"'";
ResultSet rs=db.executeQuery(sql);
while(rs.next())
{
String info_go=rs.getString("BL_S_Go");
String info_return=rs.getString("BL_S_Return");
StringBuffer buffer=new StringBuffer();
buffer.append("<p>");
buffer.append("上行路线:");
buffer.append("</p>");
buffer.append("<p>");
buffer.append(info_go);
buffer.append("</p>");
buffer.append("下行路线:");
buffer.append("<p>");
buffer.append(info_return);
buffer.append("</p>");
PrintWriter out = resp.getWriter();
out.write(buffer.toString());
//out.write(busname);
out.flush();
out.close();
}
}
catch (SQLException e)
{
e.printStackTrace();
System.out.println("您查询的结果不存在");
}
}}
servlet代码中String busname=req.getParameter("Busname"); busname并没有得到值,说明没传过来。麻烦各位高手怎么在JS那段代码中写参数传递才能传过来啊,谢谢啊,这个耽误我几天!(PS:这是在Myeclipse写的,在JS中document.getElementsByName("busname")后面的.value根本找不到,是我自己打的,但是网上很多人都这么写,不知道为什么Myeclipse没有这个方法,求解!)
{
var url=para1;
if(url=1)
{ var busname=document.getElementsByName("busname").value;
var URL="/BusSystem/BusServlet?Busname="+busname;
}
//Mozilla 浏览器(将XMLHttpRequest对象作为本地浏览器对象来创建)
if(window.XMLHttpRequest)
{ //Mozilla 浏览器
xmlHttp = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{ //IE浏览器
//IE浏览器(将XMLHttpRequest对象作为ActiveX对象来创建)
try
{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{}
}
}
if(!xmlHttp)
{
alert("不能创建XMLHttpRequest对象");
return false;
}
xmlHttp.open("GET",URL,true);
xmlHttp.onreadystatechange=getResult;
xmlHttp.send(null);
} function getResult()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
document.getElementById("result").innerHTML=xmlHttp.responseText;
}
else
{
alert('您查询的内容为空');
}
}
}
HTML代码:
<div id="divOne" style="position:absolute;top:40px;left:0px;visibility:hidden">
<form name="BusServlet"><table>
<tr><td>车次名:</td><td><input type="text" name="busname"/></td></tr>
<tr><td align="center"><input type="button" value="查询" onClick="createXMLHttpRequest(1)"/></td><td align="center"><input type="reset" value="更改"/></td></tr>
</table></form>
</div>
servlet中的代码如下:package com.qt.inquiry;
import com.ht.javabean.DB;
import java.io.*;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.*;
public class BusServlet extends HttpServlet
{ @Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
resp.setContentType("text/html;charset=utf-8");
resp.setHeader("Cache-Control", "no-cache");
resp.setHeader("Pragma","no-cache");
resp.setDateHeader("Expires",0);
String busname=req.getParameter("Busname");
DB db=new DB();
try
{
String sql="select * from BusLine where BL_Num='"+busname+"'";
ResultSet rs=db.executeQuery(sql);
while(rs.next())
{
String info_go=rs.getString("BL_S_Go");
String info_return=rs.getString("BL_S_Return");
StringBuffer buffer=new StringBuffer();
buffer.append("<p>");
buffer.append("上行路线:");
buffer.append("</p>");
buffer.append("<p>");
buffer.append(info_go);
buffer.append("</p>");
buffer.append("下行路线:");
buffer.append("<p>");
buffer.append(info_return);
buffer.append("</p>");
PrintWriter out = resp.getWriter();
out.write(buffer.toString());
//out.write(busname);
out.flush();
out.close();
}
}
catch (SQLException e)
{
e.printStackTrace();
System.out.println("您查询的结果不存在");
}
}}
servlet代码中String busname=req.getParameter("Busname"); busname并没有得到值,说明没传过来。麻烦各位高手怎么在JS那段代码中写参数传递才能传过来啊,谢谢啊,这个耽误我几天!(PS:这是在Myeclipse写的,在JS中document.getElementsByName("busname")后面的.value根本找不到,是我自己打的,但是网上很多人都这么写,不知道为什么Myeclipse没有这个方法,求解!)
var url=para1;
if(url=1)
{ var busname=document.getElementsByName("busname").value;
var URL="/BusSystem/BusServlet?Busname="+busname;
}
......................
xmlHttp.open("GET",URL,true);
看到了么? 你的URL变量定义在了if(url=1)里面 这个变量作用域只是在这个if里面, 所以你下面的URL应该是空的 你把变量申明放出去 不要放在if里面另外注意 url 和URL是不同两个变量
==>
xmlHttp.send("Busname="+busname);