当前位置: 代码迷 >> Java Web开发 >> servlet如何获取ajax传过来的json数据
  详细解决方案

servlet如何获取ajax传过来的json数据

热度:26   发布时间:2016-04-14 18:59:00.0
servlet怎么获取ajax传过来的json数据

<script type="text/javascript">
$(function() {
$(":input[name=username]").change(function() {
var val = $(this).val();
val = $.trim(val);

if (val != "") {
var url = "${pageContext.request.contextPath}/json";
var person = new Object();
person.name = "Lanny";
person.age = "25";
person.location = "China";
var persons = JSON.stringify(person); 
            alert(persons); 

$.post(url, persons, function(data) {
$("#message").html(data);
});
}
});

})
</script>
</head>

<body>
<form action="" method="post">
用户名:
<input type="text" name="username" />
<div id="message"></div>
<br />
<input type="submit" value="Confirm" />
</form>



后端
String name =request.getParameter("persons").toString();怎么获取的空指针异常
------解决思路----------------------
request.getAttribute(): 看看
------解决思路----------------------
if (val != "") {
            var url = "${pageContext.request.contextPath}/json";
            var map = {
                 name :"Lanny",
                 age : "25",
                 rand : Math.random()
           }
 
            $.post(url, map , function(data) {
                $("#message").html(data);
            });
        }

后端
String name =request.getParameter("name");
改成 这样 试试
------解决思路----------------------
if (val != "") {
            var url = "${pageContext.request.contextPath}/json";
            $.post(url, {"name":"Lanny","age":25,"location:"China"}, function(data) {
                $("#message").html(data);
            });
        }
String name =request.getParameter("name");
String age=request.getParameter("age");
String location=request.getParameter("location");
------解决思路----------------------
String name =request.getParameter("name");
String age=request.getParameter("age");
String location=request.getParameter("location");

楼上正解,跟获取表单一样

------解决思路----------------------
简单的发送:
$.ajax({
type:"post",
url:"<%=request.getContextPath() %>/UserServlet",
dataType:'json',
data:{
userName : $('#form1 input[name=userName]').val(),
password : $('#form1 input[name=password]').val(),
email : $('#form1 input[name=email]').val(),
mobile : $('#form1 input[name=mobile]').val(),
birthday : $('#form1 input[name=birthday]').val()

},
success:function(msg){
       $('#msg').html("congratulation!");  
}, error:function (msg){
$('#msg').html("The server occur an exception!");
        }
}); 
-----------------------------------------------------------------------------------------
如何获取:
String username=request.getParameter("userName");
String password=request.getParameter("password");
String email=request.getParameter("email");
String mobile=request.getParameter("mobile");

String birthday=request.getParameter("birthday");
-----------------
答案不符合,请指出。
  相关解决方案