当前位置: 代码迷 >> Java Web开发 >> $.post怎么取得返回值
  详细解决方案

$.post怎么取得返回值

热度:6380   发布时间:2013-02-25 21:04:52.0
$.post如何取得返回值?
我在JSP里有个提交如下:
$.post("/ServiceAction/com.velcro.base.test.action.CreateWfAction?action=create",{taskid:taskid,itemtype:itemtype,dalei:dalei,xiaolei:xiaolei,renwuming:renwuming,zhixingbumen:zhixingbumen,zhixingren:zhixingren,jihuawanchengshijian:jihuawanchengshijian,zhuangtai:zhuangtai,kaishishijian:kaishishijian,beizhu:beizhu,creater:'<%=velcrouser.getId()%>'},function(data){alert("创建流程成功!");document.VelcroForm.submit();});

这个提交如果成功就返回一个值比如是“OK”,然后我再进行下一个提交 ,下面的代码如何改?
if 返回值="OK" {
$.post("/ServiceAction/com.velcro.base.test.action.CreateWfAction?action=comple",{taskid:taskid,creater:'<%=velcrouser.getId()%>'},function(data){alert("提交流程成功!");document.VelcroForm.submit();});
}
callback 异步调用我正好遇到了相同的问题,2楼正解。/ServiceAction/com.velcro.base.test.action.CreateWfAction?action=create


要看你这后面怎么写的。
如:
response.getWriter.write("ok");
前面的data才能有值的。对啊.function(data).data就是回调函数里的返回的数据回调函数function(data){}中,data就是返回值,后台返回的数据需要处理,比如json格式在前台转换一下等,具体需要看你的后台如何返回数据这个得看$.post函数的实现,如果这个函数没有返回值,你可以重写一个函数,最后根据返回结果,设置你想要的结果返回值 不光只有 OK 两个字母 还有 /n 这样的你看不见的字符
所以你用 == 是判断不出来的 用  indexOf 吧

var result_value = "";
$.post("/ServiceAction/com.velcro.base.test.action.CreateWfAction?action=create",
{taskid:taskid,itemtype:itemtype,dalei:dalei,xiaolei:xiaolei,renwuming:renwuming,zhixingbumen:zhixingbumen,zhixingren:zhixingren,jihuawanchengshijian:jihuawanchengshijian,zhuangtai:zhuangtai,kaishishijian:kaishishijian,beizhu:beizhu,creater:'<%=velcrouser.getId()%>'},
function(data){
  alert("创建流程成功!");
  result_value = data; // data为返回的“OK”
});

if result_value="OK" {
  $.post("/ServiceAction/com.velcro.base.test.action.CreateWfAction?action=comple",
      {taskid:taskid,creater:'<%=velcrouser.getId()%>'},
      function(data){
        alert("提交流程成功!");
        document.VelcroForm.submit();
  });
}

// 不知道理解的对不?
  相关解决方案