开发者社区> 问答> 正文

使用jquery提交的请求回调函数接收不到后台返回值的问题

screenshot
后台:
screenshot
理想效果是在页面输入查询条件后,点击按钮后在按钮下方的div层里显示后台返回的数据,现在点击按钮后,后台接收到了请求,但是页面原有的查询框和按钮不见了,出现一个只显示后台out.print(data);的数据的页面,还是乱码的,显示之前jquery的error:function(){}执行了,求大神分析哪里出了问题

展开
收起
吴孟桥 2016-05-30 13:41:24 3287 0
1 条回答
写回答
取消 提交回答
  • success改成success: function (result) {alert("获取成功");}, 肯定能弹出"获取成功",
    但这样ajax只知道代码执行成功了,所以执行success中的内容, 但是它获取不到success里的result, 也就是后台的str
    要想像你那样获取到它,并且弹出来,
    必须把PrintWriter那句去掉,最后面3个out.xxx()也去掉,在后台最后加一行代码, 那就是将字符串str转换成JSON串, 这样ajax才能获取到result的值, 也就是在String str=new String(data.toString().getBytes("UTF-8"),"UTF-8");的后面加一句,就是用writerJson()方法转化一下str就完了,
    ajax不需要在后台写返回方法,它自己就能获取

    2019-07-17 19:20:26
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关课程

更多

相关电子书

更多
fibjs 模块重构从回调到协程--陈垒 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载