servlet怎么获取前台ajax传来的json字符串
按照HTML5权威指南上写的例子程序,前台将信息以json格式发送给后台,后台应该如何处理呢:<scripttype="text/javascript">document...
按照HTML5权威指南上写的例子程序,前台将信息以json格式发送给后台,后台应该如何处理呢:
<script type="text/javascript">
document.getElementById("submit").onclick = handleButtonPress;
var httpRequest;
function handleButtonPress(e) {
e.preventDefault();
var form = document.getElementById("demo");
var formData = new Object();
var inputElements = document.getElementsByTagName("input");
for(var i = 0; i < inputElements.length; i++){
formData[inputElements[i].name] = inputElements[i].value;
}
httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = handleRespose;
httpRequest.open("POST", form.action);
httpRequest.setRequestHeader('Content-Type', 'application/json');
httpRequest.send(JSON.stringify(formData));
}
function handleRespose(){
if(httpRequest.readyState == 4 && httpRequest.status == 200){
document.getElementById("res").innerHTML = httpRequest.responseText;
}
}
</script>
表单中有三个input,name为apple_num,banana_num,strawberry_num,后台servlet中
String apple_num = request.getParameter("apple_num");
值为空,就是想问问后台应该怎么写才能处理程序呢
谢谢 展开
<script type="text/javascript">
document.getElementById("submit").onclick = handleButtonPress;
var httpRequest;
function handleButtonPress(e) {
e.preventDefault();
var form = document.getElementById("demo");
var formData = new Object();
var inputElements = document.getElementsByTagName("input");
for(var i = 0; i < inputElements.length; i++){
formData[inputElements[i].name] = inputElements[i].value;
}
httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = handleRespose;
httpRequest.open("POST", form.action);
httpRequest.setRequestHeader('Content-Type', 'application/json');
httpRequest.send(JSON.stringify(formData));
}
function handleRespose(){
if(httpRequest.readyState == 4 && httpRequest.status == 200){
document.getElementById("res").innerHTML = httpRequest.responseText;
}
}
</script>
表单中有三个input,name为apple_num,banana_num,strawberry_num,后台servlet中
String apple_num = request.getParameter("apple_num");
值为空,就是想问问后台应该怎么写才能处理程序呢
谢谢 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励30(财富值+成长值)
展开全部
你前台写错了。一般只有前台获取后台响应返回的json数据,哪有前台向后台发送json数据的。
//前面分别拿到3个input的值apple_num、banana_num、strawberry_num的值
//然后这么传到后台
httpRequest.send("apple_num="+apple_num+"&banana_num="+banana_num+"&strawberry_num="+strawberry_num);
这样后台才可以用request.getParameter("apple_num");拿到传过来的参数值。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有解析json的工具类,com.alibaba.fastjson.JSON; 这是阿里巴巴的!你可下载个jar包
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-09-25
展开全部
既然是权威,肯定是你没 follow 对嘛。
追答
有道理
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
getParameterValues("name")
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询