毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 开发语言 >> 正文

Servlet如何获取ajax中json格式传入的数据

更新时间:2016-3-22:  来源:毕业论文

$('#but_json_json').click(function(){
            var j ={"name":"王","password":123456};
         
            $.ajax(
                    {
                        url:"servlet/JsonObject", //访问路径
                        type:"POST",    //访问方式
                        data:j, //传入服务端的数据
                        dataType:"json",
                        contentType:"application/json;charset=utf-8",
                        success : function(data){
                            alert(data);
                              alert(data.name);
                             
                              
                                alert(data.password);
                        }
                        
                    }      
                    );
        });

public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
 
     String user = request.getParameter("j");
    String name = request.getParameter("name");
    String password = request.getParameter("password");
     System.out.println(user);
    //JSON对象
    JSONObject jsonObject = new JSONObject();
    jsonObject.accumulate("password", password).accumulate("name", "www");
    response.setContentType("application/json");
    response.getWriter().write(jsonObject.toString());
}
可以从客户端将Servlet中传出的数据解析,如上面的name=www,但客户端传入的对象
(var j ={"name":"王","password":123456})在Servlet中取不到,好像是说要先去对象,我觉得应该是,
毕竟json提供了很多方法将取到到的json数据转换为别的格式,但还是搞不懂

可以用JSONObject.fromObject()方法将字符串转换为json的对象,再用getInt(key),getString(Key)取值就行了。

在 JavaScript中, json数据类型:
(1) 对象 {name:"zhangsan", pwd:"123"}
(2) 数组 []

使用 $.ajax()方法, 的 data 参数, 后面就是跟的 json对象.

 $.ajax({
     data:j
 });

等价于

 $.ajax({
     data:{"name":"王","password":123456}
 });

在server(服务器端) 是获取不到 对象j的.
因为Ajax已经把 json对象j 转换为 name=王&password=123456
如果你用火狐浏览器的调试工具 Firebug, 就能看到 Ajax的请求.

contentType: "application/json; charset=utf-8", 提交的用request.getParameter("xxx"); 是获取不到的,需要contentType: "application/x-www-form-urlencoded"

 

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。