jquery ajax获取后台request中的值 ,前台AJAX如下,后台如图

不知道怎么在前面ajax中获得后台request.setAttribute中的值,alert(message)得到的是underfind,怎么样改动才可以呢?<scrip... 不知道怎么在前面ajax中获得后台request.setAttribute中的值,alert(message)得到的是underfind,怎么样改动才可以呢?

<script type="text/javascript" language="javascript" src="./js/jquery-1.7.2.min.js" >
</script>
<script >
function send(){
var username=$("#username").val();
var userpass=$("#userpass").val();
$.ajax({
type:"POST",
url:"admin_Servlet",
data:"username=" + username + "&userpass="+userpass,
contentType: "application/json; charset=utf-8",
dataType: "json",
success:reSuccess()
})
}
function reSuccess(message){
alert(message);
Str="<div id=\"login\">sdfljslfjlsdjf=</div>";
document.getElementById("login").innerHTML=Str;

}
</script>
展开
 我来答
帐号已注销
高粉答主

2020-02-13 · 每个回答都超有意思的
知道答主
回答量:2169
采纳率:0%
帮助的人:36.1万
展开全部

1、创建空的asp.net mvc项目。

2、添加页面1)添加HomeController2)添加Index页面3)添加Content文件夹,并添加Jquery源文件(jquery-1.12.4.min.js)。

3、添加测试DOM1)在Head标签内引入jquery 2)添加一个输入待获取session名称的文本框    3)添加一个按钮,点击按钮通过ajax获取session4)添加一个显示session值的div。

4、添加后台代码1)在HomeController的Index方法内,设置一个session值2)在HomeController中添加GetAjaxSession方法,接收session名称,返回值。

5、添加ajax方法获取session 1)给按钮绑定jquery点击事件2)在点击事件中获取文本框中的session名称3)通过ajax提交后台方法,并处理返回结果。

6、运行效果如下1)输入session名称2)点击按钮,执行jquery的按钮点击事件3)得到后台的session后,写回界面。

勤奋的萨芬大幅
推荐于2017-10-07
知道答主
回答量:33
采纳率:0%
帮助的人:11.7万
展开全部
ajax原理你弄错了!
if(Daofactry,getITAdminDao.findLogin(adminVo))
{
JSONObject object=new JSONObject();
object.put("su", "xxxxx");
object.put("ff", "xxxxx");
response.getWriter().write(object.toString());
}
js修改:
success:reSuccess(data)
alert(data.su);
alert(data.ff);
})
更多追问追答
追问
为什么我把dataType换成json,‘$.ajax好像不执行了呢??而且导入json需要的包后仍然无法运行成功,报出下面错误java.lang.NoSuchMethodError: net.sf.json.JSONObject.put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

可否写个json调用servlet的例子发给我呢
追答
因为你json jar包不对,或者你Action里返回的不是json类型的就报错,不过如果是text类型返回值,肯定就不错了。
你用json和text两个返回值测试下嘛,这个代码就是多练多测试的。毕竟有些东西东西传不了给你。
import org.json.JSONObject;
JSONObject object=new JSONObject();
object.put("su", "xxxxx");
object.put("ff", "xxxxx");
response.getWriter().write(object.toString());

$.ajax({
type:" post",//请求的类型
url:"",//请求的地址
data:" ",//发送服务器的数据
dataType:"json",//返会值的类型
//complete :function(XMLHttpRequest, textStatus){},//AJAX请求完成时执行,一般不写
success:function(data, textStatus){//请求成功执行的代码
alert(data.su);
alert(data.ff);
},
error: function() {}

});
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
仇海之0H181f
2013-06-07
知道答主
回答量:23
采纳率:0%
帮助的人:18.5万
展开全部
如楼上所说,代码写法不对。jquery中success的function中的参数是后台的返回值,你用的是servlet,所以应该由out对象进行写出。若想取到request中的值,可在function中写入如下代码:
function reSuccess(message){
alert(message);
//以下两行为获得request中的su的值(即aassdd沽)//哎,又无知了,前面那个字不认识。。。
var su = <%=request.getAttribute("su")%>
alert(su);

Str="<div id=\"login\">sdfljslfjlsdjf=</div>";
document.getElementById("login").innerHTML=Str;

}
更多追问追答
追问
试过了,这样取request得到的值为空
追答
查查你的servlet是否成功转发到你的目标jsp页面上了。这个值应该是能取到的,这里出错的概率还是很小的。
PS:我突然想到的,比较常见的情况是你的JSP没有成功调用到servlet。你可以先试试在servlet里面做下验证,方法:在控制台输出下你的请求参数试试,如果有值,你可以继续追问,如果没有,那说明你的ajax写法有问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
306555807
2013-06-06 · TA获得超过269个赞
知道答主
回答量:189
采纳率:0%
帮助的人:95.5万
展开全部
亲,后端写的不对,用out对象像浏览器写数据。不然拿不到!
更多追问追答
追问
jquery ajax 不能得到后台输出的request值么??那用out输出list怎么输出呢?
追答
将list转换为json字符串,然后用out输出。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式