java servlet接收json数据,servlet如何获取ajax传过来的json数据

这篇博客探讨了在JavaScript中使用Ajax发送JSON数据到Servlet时遇到的空指针异常问题。作者首先展示了尝试通过POST方法发送JSON对象的代码,然后列举了几个可能的解决思路,包括正确地使用`request.getParameter()`来获取参数,以及确保发送的数据格式与服务器端接收的参数名称匹配。最后,给出了一个简单的Ajax发送数据和Servlet接收数据的示例,强调了参数名的一致性对于正确通信的重要性。

servlet怎么获取ajax传过来的json数据

$(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);

});

}

});

})

用户名:

后端

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:"/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");

-----------------

答案不符合,请指出。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值