求助!!ajax 向servlet 传值 。。。。失败,已被搞得焦头烂额。。。

札记_ 2015-05-20 03:19:34
设置的至无法传值至servlet ,servlet中使用

String str = request.getParameter("str");
out.print(str);
接收值,但是无法回调显示至jsp页面 ,
点击按钮无反应,用alert()检测 if(req.readyState == 4 && req.status == 200) {
document.getElementById('info').innerHTML= req.responseText;
}
此段不运行。。。。。。


各种查资料。。。无果,而来求助。。

<!-- jsp -->
<html>
<head>
<head>
<base href="<%=basePath%>">
<title>My JSP 'MyJsp.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<%
Map<String,String> mapOne = new HashMap<String,String>();
mapOne.put("信息工程学院","信息工程学院");
mapOne.put("经济管理学院","经济管理学院");
mapOne.put("法学院","法学院");
%>
<!-- 二级联动菜单 -->
<script type="text/javascript">
/*声明两个数组,以便区别,具体操作,应该是通过底层返回一个list*/
var one = new Array("软件工程","信息工程","信息安全");
var two = new Array("国际贸易","财务管理","会计");
var three = new Array("法学","国际汉语");
/*该函数,控制二级级联操作*/
function specieSelChange(selBox)
{
var str;
if(selBox.value == "信息工程学院")
{
for(var i = 0; i < one.length; i ++)
{
str += "<option>" + one[i] + "</option>";
}
}
else if(selBox.value == "经济管理学院")
{
for(var i = 0; i < two.length; i ++)
{
str += "<option>" + two[i] + "</option>";
}
}
else
{
for(var i = 0; i < three.length; i ++)
{
str += "<option>" + three[i] + "</option>";
}
}
document.all('list').innerHTML = str;
}

</script>
<script type="text/javascript">
var req;
function validate() {
var str = document.getElementById("list").value;
alert(str);
//访问validate.do这个servlet,同时把获取的表单内容idField加入url字符串,以便传递给validate.do
var url = "<%=basePath%>/ClassScoreServlet";
if(window.XMLHttpRequest) {
req = new XMLHttpRequest();
}
else if(window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
req.onreadystatechange = function callback(){
if(req.readyState == 4 && req.status == 200) {
document.getElementById('info').innerHTML= req.responseText;
}
}
req.open("POST", url, true);
xmlHttpxmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
req.send(str);
}

</script>
<style type="text/css"> td {text-align:center}</style>
</head>


<body bgcolor="#434343">
<font color="#ffffff" size=+2>
<center> 班级成绩查询 </center>
<hr width="90%">
</font>
<center>
<table border="0" align="center" >
<tr>
<td> <font color="#FFFFFF">学院:</font></td>
<td>
<!-- 页面使用循环取出数据 如果需要更标准,请使用jstl标签,或者struts标签 -->
<select id="selBox" onchange="specieSelChange(this)" name="select1" style="width:120">

<option>---请选择---</option>

<option value="信息工程学院">信息工程学院 </option>
<option value="法学院">法学院 </option>
<option value="信息工程学院">信息工程学院 </option>
</select>
</td>
<td width="50"></td>
<!-- 第二个下拉框,开始执行二级联动 -->

<td>
<font color="#FFFFFF"> 专业:</font>
</td>
<td >
<!-- 该下拉框,使用自动生成 -->
<select id="list" name="select2" style="width:80" >
<option>--请选择--</option>

</select>
</td>
<td width="30"></td>
<td>
<button onclick="validate()"> 查看</button>
</td></tr>

</table>
</center>
<span id="info"></span>

</table>
</body>
</html>

 
<!--servlet-->

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");

PrintWriter out = response.getWriter();;
String str = request.getParameter("str");
out.print(str);
}
...全文
214 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
a327369238 2015-05-21
  • 打赏
  • 举报
回复
引用 4 楼 shujun_123 的回复:
[quote=引用 1 楼 a327369238 的回复:] 1.var url = "<%=basePath%>/ClassScoreServlet"; 输出正确吗?路径正确吗? 2.xmlHttpxmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 你直接复制的吧?都不看仔细,应该是req..setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 3.req.send(str); 应该是req.send("str="+str);
发现一个异常[/quote] 还有啊,我上面的req..setRe...... 这里多了一个 .(点) 你别复制,看清楚
a327369238 2015-05-21
  • 打赏
  • 举报
回复
引用 3 楼 shujun_123 的回复:
[quote=引用 1 楼 a327369238 的回复:] 1.var url = "<%=basePath%>/ClassScoreServlet"; 输出正确吗?路径正确吗? 2.xmlHttpxmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 你直接复制的吧?都不看仔细,应该是req..setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 3.req.send(str); 应该是req.send("str="+str);
地址不是应该是 servlet的正常访问地址吗?? http://localhost/ClassScoreServle 不会错 按你说的都改了,发现if(req.readyState == 4 && req.status == 200) { document.getElementById('info').innerHTML= req.responseText; } 此段还是不会运行,只能运行else中的代码。。。 运行结果。。。。 [/quote] 很明显,路径错误了 这要看你Servlet设定时候的路径怎么设置的了,通常,在根目录,都是默认的话,直接写成:url="ClassScoreServle";就可以了
札记_ 2015-05-20
  • 打赏
  • 举报
回复
引用 1 楼 a327369238 的回复:
1.var url = "<%=basePath%>/ClassScoreServlet"; 输出正确吗?路径正确吗? 2.xmlHttpxmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 你直接复制的吧?都不看仔细,应该是req..setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 3.req.send(str); 应该是req.send("str="+str);
发现一个异常
札记_ 2015-05-20
  • 打赏
  • 举报
回复
引用 1 楼 a327369238 的回复:
1.var url = "<%=basePath%>/ClassScoreServlet"; 输出正确吗?路径正确吗?
2.xmlHttpxmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 你直接复制的吧?都不看仔细,应该是req..setRequestHeader("Content-type", "application/x-www-form-urlencoded");
3.req.send(str); 应该是req.send("str="+str);

地址不是应该是 servlet的正常访问地址吗?? http://localhost/ClassScoreServle 不会错

按你说的都改了,发现if(req.readyState == 4 && req.status == 200) {
document.getElementById('info').innerHTML= req.responseText;
}
此段还是不会运行,只能运行else中的代码。。。
运行结果。。。。
札记_ 2015-05-20
  • 打赏
  • 举报
回复
地址不是应该是 servlet的正常访问地址吗?? http://localhost/ClassScoreServle 不会错

按你说的都改了,发现if(req.readyState == 4 && req.status == 200) {
document.getElementById('info').innerHTML= req.responseText;
}
此段还是不会运行,只能运行else中的代码。。。
运行结果。。。。
a327369238 2015-05-20
  • 打赏
  • 举报
回复
1.var url = "<%=basePath%>/ClassScoreServlet"; 输出正确吗?路径正确吗? 2.xmlHttpxmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 你直接复制的吧?都不看仔细,应该是req..setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 3.req.send(str); 应该是req.send("str="+str);
内容概要:本文档详细介绍了光伏储能单相逆变器并网的Simulink仿真模型,重点聚焦于逆变器在并网过程中的动态行为分析与先进控制策略的设计与实现。该模型涵盖主电路结构、PWM调制技术、锁相环(PLL)同步控制、电流环调节等核心环节,并基于Matulink平台完成系统建模与仿真验证,能够有效研究并网电能质量、系统稳定性及控制算法性能。特别地,模型支持在弱电网条件下进行仿真,适用于分析谐波、电压不平衡、电压波动等电能质量问题,同时结合“阻抗建模”与“扫频法”等技术手段,深入探讨并网系统的交互稳定性与振荡机理,具有较强的理论深度与工程应用价值。; 适合人群:具备电力电子、自动控制理论或新能源发电系统基础知识的研究生、科研人员,以及从事光伏逆变器开发、微电网控制与并网稳定性研究的工程技术人员。; 使用场景及目标:①用于高校及科研机构开展光伏并网逆变器控制策略的教学演示与学术研究;②辅助企业工程师进行并网性能测试、控制器参数优化与系统稳定性评估;③支撑VSG控制、构网型变流器、阻抗建模、宽频振荡分析等相关前沿课题的仿真验证与论文复现工作。; 阅读建议:建议在MATLAB/Simulink环境中动手搭建并调试模型,逐步理解各模块功能与参数影响,重点关注控制器设计与系统动态响应之间的关系,并结合文中提及的“正负序阻抗建模”“扫频辨识”等方法深化对并网稳定性的理论认识与实践能力。

81,111

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧