ajax传值和返回值问题: 能够从前台传值给后台,但是后台的值怎么传给前台呢? 代码见补充(求详细解答 50
前台代码$.ajax({url:'<%=path%>/am060402checkRoomIdDup.action',type:'post',//数据发送方式data:("...
前台代码
$.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对象后进行查询和判断,然后
返回相应的值给前台,让前台判断和处理。 展开
$.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对象后进行查询和判断,然后
返回相应的值给前台,让前台判断和处理。 展开
展开全部
浏览器返回的内容是什么?就是alert(json);的结果。
["成功"]
是上面一行这样么?这是不行的,jquery会认为格式不正确。要返回类似 { "aa" : "成功" } 才可以。
jquery 1.4以后对json格式变严格了,必须要这种格式的{"键":"值","键":"值"}
也就是说顶层必须是{:}格式的。
程序中将out.println(result);改成out.println("{\"result\":" + result + "}");再试试
["成功"]
是上面一行这样么?这是不行的,jquery会认为格式不正确。要返回类似 { "aa" : "成功" } 才可以。
jquery 1.4以后对json格式变严格了,必须要这种格式的{"键":"值","键":"值"}
也就是说顶层必须是{:}格式的。
程序中将out.println(result);改成out.println("{\"result\":" + result + "}");再试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
连alert("后台传值成功");都无提示,说明你后台代码有错误。你可以试试直接运行后台代码,看有没有输出。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
明确告诉你后台的值传不到前台,前台的可以传到后台。
追问
可以帮我修改下不啊,非常感谢~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询