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

不知道怎么在前面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>

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后,写回界面。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-07
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() {}

});

追问

终于解决了,原来是我servlet中最后一句跳转语句在搞鬼,把它注释掉就可以正常得到数据了

本回答被提问者采纳
第2个回答  2013-06-07
如楼上所说,代码写法不对。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写法有问题。

追问

参数在 dataType是text的时候是可以得到的,我用html语言写了个是可以输出结果的

第3个回答  2013-06-06
亲,后端写的不对,用out对象像浏览器写数据。不然拿不到!追问

jquery ajax 不能得到后台输出的request值么??那用out输出list怎么输出呢?

追答

将list转换为json字符串,然后用out输出。

追问

为什么我把dataType换成json,‘$.ajax好像不执行了呢??而且导入json需要的包后仍然无法运行成功

ajax获取后端数据在前端展示?
Ajax怎么把后台获取到的数据遍历出来然后显示到页面上首先需要创建一个HTML,html是网页的基础与骨架。在html中增加测试数据,用来测试checkbox是否选中。编写javascript,按钮点击时,触发事件,将选中的checkbox值获取。美化页面,增加样式文件,和引入jquery文件。首先确认一下,返回的obj是对象数组还是json串,...

ajax请求时后端参数取值问题以及一些示例
content-type为 application\/x-www-form-urlencoded 的时候, 前后台传递参数 @RequestParam 和 request.getParameter 都可以接到参数的值,也可以使用 @RequestBody 和 @PathVariable 进行取值。 ajax() 方法用于执行 AJAX(异步 HTTP)请求,所有的 jQuery AJAX 方法都使用 ajax() 方法,该...

jquery ajax 怎么获得返回的response headers
回答的步奏如下:$.ajax({ cache: false, type: "POST", url: "\/camera_face_register.aspx", data: { Person_id: document.getElementById("pid01").value, Person_Name: document.getElementById("pname01").value, Group_id: document.getElementById("pgid01").v...

ajax请求接口里的数据,然后显示在页面里
1、在模板中使用了jQuery插件封装的ajax,我用到的是get请求,这在django中涉及到模板和静态文件的使用。2、然后配置路由,因为我们在ajax中请求的路由地址是getdata,所以在django路由中也要设计这个路由url,并且用views的函数处理路由。3、然后用视图函数处理对应路由url的请求,然后导入方法JsonResponse,...

jquery,ajax怎么得到后台action中的list数据,struts1中。
你往后台发送的请求为listBus.do,那么struts配置文件中请求对应的方法名应该为execute(),你的dataType为接送,那么execute中return的值类型,应该为json的格式,这样ajax中通过success:function(data) { alert(data);} data 即为你返回的return字符串,然后将字符串以一定的格式解析,封装为你需要...

jQuery AJAX:网站前台页面调用后台接口 求大神指路
这个url只是个页面地址,不是接口

Jquery用ajax获取数据后在页面取不到,确定后台已经传数据过来了。_百度...
Jquery用ajax获取数据后在页面取不到,确定后台已经传数据过来了是设置错误造成的,解决方法为:1、打开HBuilderX工具,创建Web项目,新建静态页面ajax.html。2、打开已新建的ajax.html文件,引入jquery文件并修改title标签内容。3、在标签中,插入一个div标签,并在div标签中插入一个table。4、接着在项目...

页面上用jQuery获取的值,怎样能传递到后台,C#
通过jquery的ajax方式,使用get或者post方法提交,例如提交到hello.aspx,可以这么写 var id = $("#id").val;.get("hello.aspx?id="+id,function(data,status){ alert("Data: " + data + "\\nStatus: " + status);});

如何用jquery实现用ajax读取数据,修改后再返回?
我想你理解错了,ajax一半是异步发送连接到后台,通过动态语言连接数据库读取好数据,以表格的方式组合数据返回到ajax的回调函数里头,直接添加到页面的dom上的 .get("test.asp", data:{id:01}, function(data){data.appendTo(".div");\/\/将返回的结果添加到页面上})asp:< id=request("id")sql=...

php如何获取jquery ajax传递过来的值?
url: "flow_ajax.php?act=c**ignee_list",cache: false,data: "&m=" + Math.random(),beforeSend:function(){$('#addr_modify').html('[获取中...]')},success:function(data){ re = $.evalJSON(data);alert(re.message);if(re.error == 1){ alert(re.message);window.location...

相似回答