Jquery异步提交返回json结果问题
来源:互联网 发布:淘宝卖家手机打印快递 编辑:程序博客网 时间:2024/05/01 13:06
问题: 今天做了一个前台通过按钮异步提交到后台获取json串的例子并在前台的回调函数中接受对应的值。但是死命不行,纠结了好久
下面是我的例子:
html部分:
<span style="font-size:18px;"><script type="text/javascript">function jqjson(){$.post('abcJq',{status:0},function(result){alert(result.json1);location.reload();},'json');}</script><input type="button" onclick="jqjson();" value="jq"></span>
servlet部分:
<span style="font-size:18px;">public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");PrintWriter out = response.getWriter();String status = request.getParameter("status");out.print("{'json1':'状态'}");//out.print("{json:'状态'}");out.flush();out.close();}</span>
在servlet中不管是用上面注释的和不注释返回的结果都不能进入到回调函数,我就纳闷了!
于是我就想这用Gson来封装下返回json串看可以不:
修改后的servlet
<span style="font-size:18px;">public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");PrintWriter out = response.getWriter();String status = request.getParameter("status");Gson gson = new Gson(); //这个Gson对象在Gsonjar包中要自己额外导入HashMap<String,String> map = new HashMap<String,String>(); map.put("json1", "状态是0"); String json = gson.toJson(map);out.print(json);out.flush();out.close();}</span>
让人意外的是这个静然就可以成功的调用回调函数;返回正确的值。
于是我就调试发现用Gson返回的json串的格式是{"json1":"状态是0"}
我就很纳闷了这个和我自己写的{'json1':'状态是0'}有什么差别,这里用的是单引号,因为out.print("{'json1':'状态'}");
为的是外面已经用了双引号了,所以才用单引号。
难道是这个问题,于是我就改写了写法servlet如下:
public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");PrintWriter out = response.getWriter();String status = request.getParameter("status");out.print("{\"json\":\"状态\"}");out.flush();out.close();}奇迹般的就可以了,太搞了。
- Jquery异步提交返回json结果问题
- struts2+jquery实现ajax异步提交并返回json串
- 处理异步提交的时候返回结果
- jquery异步请求返回JSON
- EasyUI的Form表单异步提交问题-ThinkPHP5对EasyUI异步表单不返回json
- jQuery Easyui form 提交验证 与 json数据返回结果的处理
- jQuery 提交请求并返回结果
- 带返回值的Form表单的异步提交(struts+json+jQuery.form)
- 在struts2+jquery使用AJAX异步提交数据,处理返回的json数据
- jquery submit()提交异步问题
- jquery异步请求返回json串
- Jquery异步请求Action返回JSON
- jquery ajax 从后台返回json结果后 不执行success方法的问题
- struts2+Jquery+Json异步提交(传递复杂JSON对象)
- Struts JSON方式 提交数据 检查后返回检查结果
- jquery ajax方法提交json格式数据报错,一直返回error问题-已解决
- js jquery异步提交中文乱码问题,
- MVC TIP3:JQuery通过Ajax提交表单并返回结果
- jquery表单验证插件的使用
- Meteor.js
- Cocos2d-x开关按钮CCMenuItemToggle的使用
- Visual C++ 2012入门经典(第6版)
- hdu 1798
- Jquery异步提交返回json结果问题
- 格式化SQL语句的网站
- 清除DEV控件 CodeRush的缓存
- 管理可恢复空间
- 如何判断 double/float 变量是否有效 (#IND, #INF)
- UXEDO配置参数详解 远程客户端配置
- GDI+ PNG背景透明窗口 初始化调用一次 必须有layer属性,image*注意赋值
- UL LI结构实现二级导航菜单(HTML+CSS+JS)
- Oracle TimesTen企业级应用实践分享