servlet无法获得ajax传过来的数据

这是jsp部分,很简单就是按按钮把数据传输过去;话说我上次大概是三天之前弄这个程序完全没问题啊<%@pagelanguage="java"import="java.uti... 这是jsp部分,很简单就是按按钮把数据传输过去;话说我上次大概是三天之前弄这个程序完全没问题啊
<%@ page language="java" import="java.util.*"
contentType="text/html; charset=UTF-8 " pageEncoding="UTF-8"%>
<%
request.setAttribute("base", request.getContextPath()); //获得站点根目录
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="${base}/js/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(
function(){
$("#registerBT").click(
function(){
var studentName=$("#studentName").val();
var passWard=$("#passWard").val();
$.ajax(
{
url:"${base}/LoginServlet",
type:"post",
data:"username="+studentName+"&passward="+passWard,
dataType:"json",
success:successInfo
}
);
}
);
}
);
function successInfo(json){
var success=json.success;//tipDiv
if(success!=null){
alert("注册成功,请登录!");
window.location.href = "welcome.jsp";
}
}
</script>
<title>Insert title here</title>
</head>
<body>
用户名 <input type="text" id="studentName" name="studentName" size="20"><br>
密 码 <input type="text" id="passWard" name="passWard" size="20"><br>
<input type="button" id="registerBT" name="register" value="注册">
</body>
</html>
这是相应的servlet代码
package servlets;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name=(String) request.getAttribute("username");//这个地方我看了name是null

String address=(String) request.getAttribute("passward");
}
展开
 我来答
yyzloveglq
2014-06-06 · TA获得超过129个赞
知道答主
回答量:93
采纳率:0%
帮助的人:87.2万
展开全部
  1. 将你js中获取到得username,password输出看是否有获取到值。

  2. 请求type,dataType与实际发送的data不一致。

    type:"post",
    data:"username="+studentName+"&passward="+passWard,
    dataType:"json",

    a. 如果要使用你目前的data来传递值,建议修改为

        type: "get",

        data:"username="+studentName+"&passward="+passWard,

        [dataType]删掉该属性

    b. 如果要使用json形式

         type: "post"/"get",

         data: "{'username':" + studentName+",'password':" + passWard + "}",

         dataType: "json"

希望能帮助你解决问题,如果不能请继续追问。

追问
谢谢你的回答,我后来解决了这个问题,我是在servlet中把getAttribute改成getParamater之后就好了?但是我记得这个地方用getAttribute也是可以的啊?
追答
恩,我还没仔细看到这点。正常通过页面请求的参数都是使用getParameter。

如果是页面使用request对象setAttribute,你就可以使用这个。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式