ajax 从后台传值到前台

longburulin 2014-10-29 04:10:08
在后台进行数据库查询后 得到数据库中的2个字段
我应该再把得到的2个字段返回前台
这个response.getWriter().write()好像不能成功
求指导
...全文
40563 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
lwf3421 2015-10-26
  • 打赏
  • 举报
回复
引用 6 楼 fenyeshu 的回复:
你也可以把两个数据组合成对象

JSONObject  js = new JSONObject();
js.accumulate("对象变量",对象值);
response.getWriter().print(js.toString());
前台

data就是这个对象, 然后, data.getXX()就可以拿出值了
我提示undefined,这是为什么,getXX(),应该直接写成data.xx吧
qq840727854 2014-10-30
  • 打赏
  • 举报
回复
直接 打开控制台,先看有没有错误,~
longburulin 2014-10-30
  • 打赏
  • 举报
回复
引用 20 楼 sizhouzhou 的回复:
您说的没错 但是session里面的值我要用在Javascript脚本中创建div等等操作啊 您能直白一点指导我么 比如5楼的fenyeshu告诉我的那样 但我还搞不懂我是应该怎么获取json的 他说前台可以直接data[0]取出第一个数据,data[1]取出第二个数据 但先应该获取他的json什么的吧
LOVE-漂泊 2014-10-30
  • 打赏
  • 举报
回复
引用 19 楼 longburulin 的回复:
[quote=引用 18 楼 sizhouzhou 的回复:] 请问LZ你是想要实现什么??jsp页面显示吗?
我的本意是jsp页面通同用ajax来实现查询数据库嘛 然后得到数据库中的2个字段 嘻嘻 然后想用Javascript动态创建返回的字段显示在原来的jsp页面上面哦 [/quote] 那何必那么麻烦,直接放在session里面然后前台 <c:forEach items="${typeList}" var="type"> ${type.tname } 、、、 </c:forEach>用这个标签获取集合,遍历即可啊 如果要添加判断可以用<%%>javascripe
longburulin 2014-10-30
  • 打赏
  • 举报
回复
引用 18 楼 sizhouzhou 的回复:
请问LZ你是想要实现什么??jsp页面显示吗?
我的本意是jsp页面通同用ajax来实现查询数据库嘛 然后得到数据库中的2个字段 嘻嘻 然后想用Javascript动态创建返回的字段显示在原来的jsp页面上面哦
LOVE-漂泊 2014-10-30
  • 打赏
  • 举报
回复
请问LZ你是想要实现什么??jsp页面显示吗?
longburulin 2014-10-30
  • 打赏
  • 举报
回复
引用 16 楼 sizhouzhou 的回复:
是集合哦 问题是我应该在Javascript中怎么获取您所说的然后在我的updatelist函数里面json啊 if(xmlHttp.readyState==4) { if(xmlHttp.status==200) { updatelist(); }
LOVE-漂泊 2014-10-30
  • 打赏
  • 举报
回复
引用 15 楼 longburulin 的回复:
[quote=引用 13 楼 sizhouzhou 的回复:] 你可以直接放在session里 不用刚刚那个方法也行 刚刚那个是异步提交
谢谢您的回答 但是我想尝试用一下 平时没用json的时候if(xmlHttp.readyState==4) { if(xmlHttp.status==200) { updatelist(); } }然后在updatelist函数里面通过request.getParameter(参数)获取在后台自己建的一个字段么 如果不按照你这$.ajax( url: method: success:function(data){ } );来获取 呢 我在updatelist()怎么实现 我很笨 也没有用过jQuery来着啊[/quote] 如果你只是单纯的两个变量 可以 定义一个隐藏标签 <input type="hidden" id="totalYeshu" value="${totalYeshu}"> <input type="hidden" id="totalNum" value="${totalNum}"> 然后通过id 这样获取隐藏的值$("#totalYeshu").val() 如果是个集合 就要先获取集合 然后循环了 <c:forEach items="${typeList}" var="type"> ${type.tname } 、、、 </c:forEach>
longburulin 2014-10-30
  • 打赏
  • 举报
回复
引用 13 楼 sizhouzhou 的回复:
你可以直接放在session里 不用刚刚那个方法也行 刚刚那个是异步提交
谢谢您的回答 但是我想尝试用一下 平时没用json的时候if(xmlHttp.readyState==4) { if(xmlHttp.status==200) { updatelist(); } }然后在updatelist函数里面通过request.getParameter(参数)获取在后台自己建的一个字段么 如果不按照你这$.ajax( url: method: success:function(data){ } );来获取 呢 我在updatelist()怎么实现 我很笨 也没有用过jQuery来着啊
longburulin 2014-10-30
  • 打赏
  • 举报
回复
引用 5 楼 fenyeshu 的回复:
您好!前台用 response.getWriter().write( 参数);来接收么 那参数我应该写什么啊 能详细点指导么 万分感谢啊
LOVE-漂泊 2014-10-30
  • 打赏
  • 举报
回复
你可以直接放在session里 不用刚刚那个方法也行 刚刚那个是异步提交
LOVE-漂泊 2014-10-30
  • 打赏
  • 举报
回复
引用 11 楼 longburulin 的回复:
[quote=引用 9 楼 sizhouzhou 的回复:] 一般要先转换成json格式 然后再往前台传值的! JSONArray luckuser = JSONArray.fromObject(list); out.print(luckuser.toString());
您好!我还没用过json 用json之前是不是要下载什么.jar的啊 然后用 response.getWriter().write( json.toString());来传递 前台接收怎么实现啊[/quote] 不用jar包 用ajax接收 function getData2(){ //alert(2); //ajax异步返回数据 $.ajax({ type:"Post", url:"modelaction!QueryNewbet.action?aflag=2", dataType:"json", contentType: "application/x-www-form-urlencoded; charset=utf-8", success : function(data) { var json=eval(data); var result1=""; if(json.length!=0){ for(var i=0;i<json.length;i++){ result1+="<span>用户名:"+json[i].username+"</span>  <span>中奖额:"+json[i].a+".00"+"</span>     "; } } $("#luck").html(result1); }, error:function(){ //alert("no2"); } }); } 这样需要自己布局
longburulin 2014-10-30
  • 打赏
  • 举报
回复
引用 9 楼 sizhouzhou 的回复:
一般要先转换成json格式 然后再往前台传值的! JSONArray luckuser = JSONArray.fromObject(list); out.print(luckuser.toString());
您好!我还没用过json 用json之前是不是要下载什么.jar的啊 然后用 response.getWriter().write( json.toString());来传递 前台接收怎么实现啊
longburulin 2014-10-30
  • 打赏
  • 举报
回复
引用 7 楼 qqliang1314 的回复:
您好 我没有用jQuery来写 $.ajax( url: method: success:function(data){ var list = data.list; //获取后台list }这个我应该怎么理解 我代码是这样的if(xmlHttp.readyState==4) { if(xmlHttp.status==200) { updatelist(); } } 我应该在updatelist怎么利用按照您所传过来的数据呢
LOVE-漂泊 2014-10-30
  • 打赏
  • 举报
回复
一般要先转换成json格式 然后再往前台传值的! JSONArray luckuser = JSONArray.fromObject(list); out.print(luckuser.toString());
贫道望青楼 2014-10-30
  • 打赏
  • 举报
回复
requset.setAttribute(); requset.getAttribute();
LOVE-漂泊 2014-10-30
  • 打赏
  • 举报
回复
引用 23 楼 longburulin 的回复:
[quote=引用 20 楼 sizhouzhou 的回复:] [quote=引用 19 楼 longburulin 的回复:] [quote=引用 18 楼 sizhouzhou 的回复:] 请问LZ你是想要实现什么??jsp页面显示吗?
我的本意是jsp页面通同用ajax来实现查询数据库嘛 然后得到数据库中的2个字段 嘻嘻 然后想用Javascript动态创建返回的字段显示在原来的jsp页面上面哦 [/quote] 那何必那么麻烦,直接放在session里面然后前台 <c:forEach items="${typeList}" var="type"> ${type.tname } 、、、 </c:forEach>用这个标签获取集合,遍历即可啊 如果要添加判断可以用<%%>javascripe[/quote] 虽然没有用json来解决 但还是找到其他的方法弄好了 不管怎样 还是谢谢您了[/quote] 客气了!
longburulin 2014-10-30
  • 打赏
  • 举报
回复
引用 20 楼 sizhouzhou 的回复:
[quote=引用 19 楼 longburulin 的回复:] [quote=引用 18 楼 sizhouzhou 的回复:] 请问LZ你是想要实现什么??jsp页面显示吗?
我的本意是jsp页面通同用ajax来实现查询数据库嘛 然后得到数据库中的2个字段 嘻嘻 然后想用Javascript动态创建返回的字段显示在原来的jsp页面上面哦 [/quote] 那何必那么麻烦,直接放在session里面然后前台 <c:forEach items="${typeList}" var="type"> ${type.tname } 、、、 </c:forEach>用这个标签获取集合,遍历即可啊 如果要添加判断可以用<%%>javascripe[/quote] 虽然没有用json来解决 但还是找到其他的方法弄好了 不管怎样 还是谢谢您了
qqliang1314 2014-10-29
  • 打赏
  • 举报
回复
推荐使用JSON,可以参考以下代码 action: Map<String,Object> map = new HashMap<String,Object>(); map.put( "total",total); map.put( "list", list); json = JSONObject. fromObject(map); try { /*设置编码格式,返回结果 * ***/ response.setContentType( "text/html;charset=UTF-8"); response.getWriter().write( json.toString()); } catch (IOException e1) { e1.printStackTrace(); } Jsp页面中用ajax请求后台: $.ajax( url: method: success:function(data){ var list = data.list; //获取后台list } );
枫叶5945 2014-10-29
  • 打赏
  • 举报
回复
你也可以把两个数据组合成对象

JSONObject  js = new JSONObject();
js.accumulate("对象变量",对象值);
response.getWriter().print(js.toString());
前台

data就是这个对象, 然后, data.getXX()就可以拿出值了
加载更多回复(5)

81,092

社区成员

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

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