日期:2014-05-17  浏览次数:20778 次

用jquery,发现的问题,求助各位大大
var localpage="hospital";
var isforbidden=0;

function saveHospital(){
var hospinfo = {
'targetname' : localpage,
'hospitalid' : $('#hospitalid').val(),
'hospitalname' : $('#hospitalname').val(),
'remark' : $('#remark').val(),
'connstr' : $('#connstr').val(),
'isforbidden' : isforbidden
};
  $.post('manage/saveinfo',hospinfo, function(data){
  ...........
  }
传入后台后,我用
String req_param = request.getParameter("targetname");,可以得到req_param = hospital
但是用String hospitalid = request.getParameter("hospitalid");
String hospitalname = request.getParameter("hospitalname");
String remark = request.getParameter("remark");
String connstr = request.getParameter("connstr");
的时候,取得到的全是“”。
这是为什么?

------解决方案--------------------
从你的代码来看,你提交的是JSON数据。

J2EE的getParameter不支持直接操作JSON数据(对于Servlet这边来说,就是个奇怪的String而已)。

你需要去下载个JSON包,然后用它来操作这个JSON中的节点和属性值。
------解决方案--------------------
'targetname' : localpage,
'hospitalid' : $('#hospitalid').val(),

把 'hospitalid'中 ' '去掉
------解决方案--------------------
正如ldh911所说的,提交的是json数据,肯定不能request.getParameter("hospitalid"); 来接收数据的。

你这样做每次都要手写表单数据来构造,建议直接用jquery的表单插件,发送ajax请求,减少你编程的工作量。