ajax传值和返回值问题: 能够从前台传值给后台,但是后台的值怎么传给前台呢? 代码见补充(求详细解答

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax传值和返回值问题: 能够从前台传值给后台,但是后台的值怎么传给前台呢? 代码见补充(求详细解答相关的知识,希望对你有一定的参考价值。

前台代码

$.ajax(
url:'<%=path%>/am060402checkRoomIdDup.action',
type:'post', //数据发送方式
data: ("roomIdNew="+ roomIdNew + "&roomIdOld="+ roomIdParam),
dataType:'string',//接受数据格式
async: true ,
success: function(data)
alert("后台传值成功");//这里不能弹出提示,我希望从这里取后台传过来的值做相应的判断。
,error: function(json)
alert("获取信息失败"); //一直都弹出这里的提示
alert(json);

);

后台关键代码:
int countRoomId = am060401Service.getCount(RoomIdDup);
String aa = "";
if((roomIdOld.equals("") && countRoomId < 1)
||(!roomIdOld.equals("") && roomIdOld.equals(roomIdNew))
||(!roomIdOld.equals("") && !roomIdOld.equals(roomIdNew)&& countRoomId < 1) )
// out.print("yes");
aa = "成功";
else
aa = "失败";

JSONArray jo = JSONArray.fromObject(aa);
result = jo.toString();
out.println(result);
out.close();
RoomIdDup对象里边有从后台传过来的值:roomIdNew,
set进RoomIdDup对象后进行查询和判断,然后

返回相应的值给前台,让前台判断和处理。

参考技术A 浏览器返回的内容是什么?就是alert(json);的结果。
["成功"]
是上面一行这样么?这是不行的,jquery会认为格式不正确。要返回类似 "aa" : "成功" 才可以。

jquery 1.4以后对json格式变严格了,必须要这种格式的"键":"值","键":"值"
也就是说顶层必须是:格式的。
程序中将out.println(result);改成out.println("\"result\":" + result + "");再试试
参考技术B 连alert("后台传值成功");都无提示,说明你后台代码有错误。你可以试试直接运行后台代码,看有没有输出。 参考技术C 明确告诉你后台的值传不到前台,前台的可以传到后台。追问

可以帮我修改下不啊,非常感谢~~

前端ajax异步传值以及后端接收参数的几种方式

参考技术A 前台往后台传值呢,有很多种方式,大家听我细细道来。

第一种呢,也是最简单的一种,通过get提交方式,将参数在链接中以问号的形式进行传递。

后台往前台传值就要简单一些,单个数据或者封装数据可以直接使用return返回json数据给前台,如果是多个数据,可以使用```
PrintWriter进行传值,具体操作如下

非异步方式传值
非异步方式前台传递参数
1.与异步方式类似,使用form直接提交或者在链接中拼接参数即可。

2.后台接受参数方式不变,与异步方式完全相同。
非异步方式后台向前台传递数据

以上是关于ajax传值和返回值问题: 能够从前台传值给后台,但是后台的值怎么传给前台呢? 代码见补充(求详细解答的主要内容,如果未能解决你的问题,请参考以下文章

jQuery Ajax传值给Servlet,在Servlet里接受参数乱码的解决方法

.net如何在后台将某一变量的值传值给前台js

前台用ajax传值给ASPX页面并用art.daolog打开aspx页面怎么没有数据显示(请大神帮忙解决下)?

前台jquery+ajax+json传值,后台处理完后返回json字符串,如何取里面的属性值?(不用springmvc注解)

如何从jsp页面向后台传值?

怎么样让“子窗口传值给父窗口的Input”