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

$.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();});
}

------解决方案--------------------
返回值 不光只有 OK 两个字母 还有 /n 这样的你看不见的字符
所以你用 == 是判断不出来的 用  indexOf 吧
------解决方案--------------------
回调函数function(data){}中,data就是返回值,后台返回的数据需要处理,比如json格式在前台转换一下等,具体需要看你的后台如何返回数据
------解决方案--------------------

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();
  });
}

// 不知道理解的对不?
------解决方案--------------------
这个得看$.post函数的实现,如果这个函数没有返回值,你可以重写一个函数,最后根据返回结果,设置你想要的结果
------解决方案--------------------
对啊.function(data).data就是回调函数里的返回的数据
------解决方案--------------------
我正好遇到了相同的问题,2楼正解。
------解决方案--------------------
/ServiceAction/com.velcro.base.test.action.CreateWfAction?action=create


要看你这后面怎么写的。
如:
response.getWriter.write("ok");
前面的data才能有值的。
------解决方案--------------------
callback 异步调用