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 Matlab问题解答有两个问题
  • ¥50 Oracle Kubernetes服务器集群主节点无法访问,工作节点可以访问
  • ¥15 LCD12864中文显示
  • ¥15 在使用CH341SER.EXE时不小心把所有驱动文件删除了怎么解决
  • ¥15 gsoap生成onvif框架
  • ¥15 有关sql server business intellige安装,包括SSDT、SSMS。
  • ¥15 stm32的can接口不能收发数据
  • ¥15 目标检测算法移植到arm开发板
  • ¥15 利用JD51设计温度报警系统
  • ¥15 快手联盟怎么快速的跑出建立模型