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);
});
展开
 我来答
育知同创教育
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);
百度网友cc7dce5
推荐于2017-09-19 · TA获得超过371个赞
知道小有建树答主
回答量:436
采纳率:0%
帮助的人:369万
展开全部

我觉得你这个代码写的问题太难懂了

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的值后再分解成数组

这个要看你具体的需要 不过你要理解一个概念 就是 他不想服务器语言可以 直接传递数组
他只能传递单个或者几个 字符串的值,那些数字啊或者日期类的 ,也是作为字符串传递的
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式