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> 展开
<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> 展开
展开全部
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后,写回界面。
展开全部
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);
})
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() {}
});
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如楼上所说,代码写法不对。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;
}
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写法有问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
亲,后端写的不对,用out对象像浏览器写数据。不然拿不到!
更多追问追答
追问
jquery ajax 不能得到后台输出的request值么??那用out输出list怎么输出呢?
追答
将list转换为json字符串,然后用out输出。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询