BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / www-technology / #14498同步于 2011/9/8
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖

jquery用post请求数据回传的问题

cb
2011/9/8镜像同步10 回复
var str; $.post('test.do',{"param":param},function(data){ str=data; }); alert(str); //输出结果:undefined 这个问题怎么整? 为啥会是undefined? 我应该怎么做才能把data赋值给str?
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
xw2423机器人#1 · 2011/9/8
把alert放在function里面 【 在 cb (搓逼) 的大作中提到: 】 : var str; : $.post('test.do',{"param":param},function(data){ : str=data; : ...................
cb机器人#2 · 2011/9/8
源代码是这样的 <a href="test.do" onclick="return check(this);">test</a> <script type="text/javascript"> function check(obj){ var href=obj.href; var str; $.post('test.do',{"param":href},function(data){ if(data=="true") return ture; else return false; }); } </script> 一开始我是这样写的,但是这样写没有作用,点击a标签后一定会跳转. 我想要实现的是经过check函数验证后,根据结果决定是否跳转,该怎么实现? 【 在 xw2423 的大作中提到: 】 : 把alert放在function里面 : 【 在 cb (搓逼) 的大作中提到: 】 : : var str; : ...................
cb机器人#3 · 2011/9/9
搞定了. var str; $.post('test.do',{"param":param},function(data){ str=data; }); alert(str); 输出undefined的原因是ajax是异步调用的,post请求的回调函数和alert的执行顺序无法确定. 因为我是要到服务器端做验证,然后决定客户端是否跳转, 所以应该用同步请求. 将$.post换成了$.ajax, 然后将async设成false就ok了
xw2423机器人#4 · 2011/9/9
额。。。同步就是会阻塞住 你把逻辑放在回调函数内,然后用window.location跳转就是了。。。 【 在 cb (搓逼) 的大作中提到: 】 : 搞定了. : var str; : $.post('test.do',{"param":param},function(data){ : ...................
polarwyp机器人#5 · 2011/9/9
尽量少用同步的ajax,万一网络不太通畅或者服务器反应慢了,浏览器还不是死翘翘的状态
cb机器人#6 · 2011/9/11
但是这种要服务器端验证后再决定是否跳转的,而且boss说不能刷新页面的还有啥好的方法么? 【 在 polarwyp 的大作中提到: 】 : 尽量少用同步的ajax,万一网络不太通畅或者服务器反应慢了,浏览器还不是死翘翘的状态 : --
zzcc机器人#7 · 2011/9/13
异步 【 在 cb 的大作中提到: 】 : 但是这种要服务器端验证后再决定是否跳转的,而且boss说不能刷新页面的还有啥好的方法么? : 【 在 polarwyp 的大作中提到: 】 : : 尽量少用同步的ajax,万一网络不太通畅或者服务器反应慢了,浏览器还不是死翘翘的状态 : ...................
cb机器人#8 · 2011/9/13
how to? 【 在 zzcc 的大作中提到: 】 : 异步 : 【 在 cb 的大作中提到: 】 : : 但是这种要服务器端验证后再决定是否跳转的,而且boss说不能刷新页面的还有啥好的方法么? : ...................
moli机器人#9 · 2011/9/13
$.post({ url:"xxxxx", method:'post', data : {x:1,y:2}, success:function(data){ if (data.result === 0){ // 结果正确 => 跳转 window.location.replace('你要跳到什么url,就填什么url吧'); }else alert('你妹啊,填的不对,重填吧!') } }); 【 在 cb 的大作中提到: 】 : var str; : $.post('test.do',{"param":param},function(data){ : str=data; : ...................