crazycomet2011 2013-11-18 11:58
浏览 192
已采纳

extjs表单提交后,数据打印后不是json格式

前台数据{
id:'user_update',
text: '编辑',
maxWidth:55,
handler:function(){
var user_form = this.up('form');
if(user_form.getForm().isValid()){
user_form.getForm().submit({
// url: 'updateUserServlet',
url:'MyJsp.jsp',

                            method:'post',

                            submitEmptyText: false,
                            waitTitle:'请等待',
                            waitMsg: '正在编辑用户...',
                            params : {
                                id : userid,
                                userName : userName,
                                userPermiss : userPermiss,
                                description : description,
                                userPasswd : userPasswd
                            },

                            success:function(form,action){
                                var response = Ext.decode(action.response.responseText);
                                Ext.Msg.alert('提示', response.msg);
                                userStore.load();
                            },
                            failure:function(form,action){
                                Ext.Msg.alert('提示', '编辑用户失败!');
                            }
                        });
                    }else{
                        Ext.Msg.alert('提示', '数据验证失败!');
                    }
                }
            }

后台代码:<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.io.BufferedReader" %>
<%@ page import="net.sf.json.*" %>
<%
BufferedReader in=request.getReader();
StringBuffer jsonStr=new StringBuffer();
String str="";
while((str=in.readLine())!=null){
jsonStr.append(str);
}
JSONObject jsonObj= JSONObject.fromObject(jsonStr.toString());
String name= jsonObj.getString("userName");

String msg="";
out.print("asdf");
out.print(name);

%>
服务器报错为:严重: Servlet.service() for servlet jsp threw exception
net.sf.json.JSONException: A JSONObject text must begin with '{' at character 1 of id=3&userName=yy&userPermiss=3&description=&userPasswd=usd1111
经过打印后,得到的数据为id=3&userName=yy&userPermiss=3&description=&userPasswd=usd1111不是json格式,请问哪里有问题??

  • 写回答

5条回答

  • stu liu 2013-11-18 16:48
    关注

    用最简单的方式啊,你的代码太复杂了
    [code="java"]
    Enumeration em=request.getParameterNames();
    String pm="";
    JSONObject jsonObj = new JSONObject();
    while(em.hasMoreElements()){
    pm = em.nextElement();
    jsonObj.put(pm, request.getParameter(pm));
    }

        String name= jsonObj.getString("userName");
    

    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器