jquery中的post传值给servlet的方法:
jQuery 的 get 和 post 方法有三个参数:地址,数据 和回调函数:
注意:这个里面要注意。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 和他的值就可以了
因为不知道你具体是什么样子 这个给你参考
你可以试用浏览器的 调试工具 查看到你的具体传的值