$.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 异步调用