Jquery使用post传值给名为calculate的servlet,servlet该如何获取该值??
varurl="Calculate";varpost_data={};$(":hidden[name^=grade_val],:hidden[name=price],#c...
var url = "Calculate";
var post_data = {};
$(":hidden[name^=grade_val],:hidden[name=price],#carriage").each(function(){
var p_name = $(this).attr('name');
var p_val = $(this).val();
post_data[p_name] = p_val;
});
$.post(url, post_data, function(res){
$(".calculator-mate").html(res);
$('body, html').animate({scrollTop: $('.calculator-mate').offset().top});
setTimeout("configChart()", 1000);
}); 展开
var post_data = {};
$(":hidden[name^=grade_val],:hidden[name=price],#carriage").each(function(){
var p_name = $(this).attr('name');
var p_val = $(this).val();
post_data[p_name] = p_val;
});
$.post(url, post_data, function(res){
$(".calculator-mate").html(res);
$('body, html').animate({scrollTop: $('.calculator-mate').offset().top});
setTimeout("configChart()", 1000);
}); 展开
2个回答
2016-04-12 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
jquery中的post传值给servlet的方法:
jQuery 的 get 和 post 方法有三个参数:地址,数据 和回调函数:
<script type="text/javascript">
$(document).ready(function(){
$("#btn01").click(function(){
var stationName = $("#stationName").val();
$.post("calculate",{type:"2",stationName:stationName},function(result){
alert(result);
});
}
});
});
</script>
注意:这个里面要注意。var stationName = $("#stationName").val();是取表单元素的值。calculate 是servlet名称。{type:"2",stationName:stationName} 是要传到后台的参数,还有一个回调函数。
servlet后台的参数接收方法:
String name = request.getParameter("stationName");
name = new String(name.getBytes("iso-8859-1"), "utf-8");
String result = stationService.queryStationByName(name);
out.write(result);
jQuery 的 get 和 post 方法有三个参数:地址,数据 和回调函数:
<script type="text/javascript">
$(document).ready(function(){
$("#btn01").click(function(){
var stationName = $("#stationName").val();
$.post("calculate",{type:"2",stationName:stationName},function(result){
alert(result);
});
}
});
});
</script>
注意:这个里面要注意。var stationName = $("#stationName").val();是取表单元素的值。calculate 是servlet名称。{type:"2",stationName:stationName} 是要传到后台的参数,还有一个回调函数。
servlet后台的参数接收方法:
String name = request.getParameter("stationName");
name = new String(name.getBytes("iso-8859-1"), "utf-8");
String result = stationService.queryStationByName(name);
out.write(result);
展开全部
我觉得你这个代码写的问题太难懂了
var post_data = {}; //这里是定义了一个集合
$(":hidden[name^=grade_val],:hidden[name=price],#carriage").each(function(){
var p_name = $(this).attr('name'); //这里取到了p_name
var p_val = $(this).val();//这里取到了值
post_data[p_name] = p_val; //但是这里我就没有搞明白,你到底要传那个值
});
我建议是这样的
var p_name ;
var p_val ;
$(":hidden[name^=grade_val],:hidden[name=price],#carriage").each(function(){
var p_name = $(this).attr('name');
var p_val = $(this).val();
});
$.post(url, {
P_name:p_name,
P_val:p_val
}, function(res){
$(".calculator-mate").html(res);
$('body, html').animate({scrollTop: $('.calculator-mate').offset().top});
setTimeout("configChart()", 1000);
});
那么 在你接收的URL页面直接接收
P_name和P_val 和他的值就可以了
因为不知道你具体是什么样子 这个给你参考
你可以试用浏览器的 调试工具 查看到你的具体传的值
追问
那接收的时候使用数组接收吗??循环后应该会产生10对值啊?
追答
其实这个传值就像我们普通打开页面那样
比如 1.html?a=1&b=2...这样 然后接收的时候就 接收 a,b..的值
或者 你组合成 a=值1|值2|值3 这样 然后接收a的值后再分解成数组
这个要看你具体的需要 不过你要理解一个概念 就是 他不想服务器语言可以 直接传递数组
他只能传递单个或者几个 字符串的值,那些数字啊或者日期类的 ,也是作为字符串传递的
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询