jQuery获得后台数据,如果遍历出数据呢

lgmsyy 2015-05-14 04:06:10
<script type="text/javascript">

var str = "";
$(document).ready(function() {

$.ajax({
url: "/List.action",
type: "post",
success: function(str) {
alert(str);//此处可以打印出来结果。
...
}
});

alert(str);//为什么str在此处为空?怎么将以上的str数据带过来呢?
//下列代码要遍历这个str。

});


</script>
...全文
199 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 9 楼 lgmsyy 的回复:
您好,我在abc(data)函数中加入 $(data).each(function (i, item) { alert(item.name); }) 这样就可以遍历了。还是谢谢您。另外你将另外一个帖子也发表点意见,我将分数一并给您。(http://bbs.csdn.net/topics/391035800)
你试试后台处理那些数据吧 前台能简单点就简单点
lgmsyy 2015-05-14
  • 打赏
  • 举报
回复
引用 8 楼 u011376884 的回复:
[quote=引用 7 楼 lgmsyy 的回复:] [quote=引用 6 楼 u011376884 的回复:] [quote=引用 5 楼 lgmsyy 的回复:] [quote=引用 4 楼 u011376884 的回复:] [quote=引用 3 楼 lgmsyy 的回复:] 以至于alert("2:"+str);还是打不出str中的数据。
非得纠结alert吗? 那你把alert放到 $(document).ready(function() { 外面 或者把循环放到success里 或者
setTimeout(function(){
                            alert……
                        },5000);
ajax执行是需要时间的……[/quote] 只这样的,必须等到function(data)执行后,返回数据,才能将这个数据传给下面的js执行啊。否则如果先执行下面的js,那么是没意义的啊[/quote] 那你把下面的js单写成一个方法,类似function abc(value) 在success的最后调用abc(str) 或者直接调用abc(data) 不需要str(如果其他地方不需要)[/quote] 您好,非常感谢。这是可行的。我还想咨询一个问题。 我将data传到另外一个函数后,我如何遍历这个date呢。现在alert(data)后得出的是[object,Object],[object,Object],[object,Object]。。。。 这组数据是后台数据库查询出来的。我想遍历后得出以下这样 ['专科及以下', 45.0], ['本科', 26.8], ['研究生',12.8], ['博士及以上', 8.5][/quote] 那个帖子我看了 我的建议是 “你最好在后台处理 把数据的格式处理好 再传到页面”[/quote] 您好,我在abc(data)函数中加入 $(data).each(function (i, item) { alert(item.name); }) 这样就可以遍历了。还是谢谢您。另外你将另外一个帖子也发表点意见,我将分数一并给您。(http://bbs.csdn.net/topics/391035800)
  • 打赏
  • 举报
回复
引用 7 楼 lgmsyy 的回复:
[quote=引用 6 楼 u011376884 的回复:] [quote=引用 5 楼 lgmsyy 的回复:] [quote=引用 4 楼 u011376884 的回复:] [quote=引用 3 楼 lgmsyy 的回复:] 以至于alert("2:"+str);还是打不出str中的数据。
非得纠结alert吗? 那你把alert放到 $(document).ready(function() { 外面 或者把循环放到success里 或者
setTimeout(function(){
                            alert……
                        },5000);
ajax执行是需要时间的……[/quote] 只这样的,必须等到function(data)执行后,返回数据,才能将这个数据传给下面的js执行啊。否则如果先执行下面的js,那么是没意义的啊[/quote] 那你把下面的js单写成一个方法,类似function abc(value) 在success的最后调用abc(str) 或者直接调用abc(data) 不需要str(如果其他地方不需要)[/quote] 您好,非常感谢。这是可行的。我还想咨询一个问题。 我将data传到另外一个函数后,我如何遍历这个date呢。现在alert(data)后得出的是[object,Object],[object,Object],[object,Object]。。。。 这组数据是后台数据库查询出来的。我想遍历后得出以下这样 ['专科及以下', 45.0], ['本科', 26.8], ['研究生',12.8], ['博士及以上', 8.5][/quote] 那个帖子我看了 我的建议是 “你最好在后台处理 把数据的格式处理好 再传到页面”
lgmsyy 2015-05-14
  • 打赏
  • 举报
回复
引用 6 楼 u011376884 的回复:
[quote=引用 5 楼 lgmsyy 的回复:] [quote=引用 4 楼 u011376884 的回复:] [quote=引用 3 楼 lgmsyy 的回复:] 以至于alert("2:"+str);还是打不出str中的数据。
非得纠结alert吗? 那你把alert放到 $(document).ready(function() { 外面 或者把循环放到success里 或者
setTimeout(function(){
                            alert……
                        },5000);
ajax执行是需要时间的……[/quote] 只这样的,必须等到function(data)执行后,返回数据,才能将这个数据传给下面的js执行啊。否则如果先执行下面的js,那么是没意义的啊[/quote] 那你把下面的js单写成一个方法,类似function abc(value) 在success的最后调用abc(str) 或者直接调用abc(data) 不需要str(如果其他地方不需要)[/quote] 您好,非常感谢。这是可行的。我还想咨询一个问题。 我将data传到另外一个函数后,我如何遍历这个date呢。现在alert(data)后得出的是[object,Object],[object,Object],[object,Object]。。。。 这组数据是后台数据库查询出来的。我想遍历后得出以下这样 ['专科及以下', 45.0], ['本科', 26.8], ['研究生',12.8], ['博士及以上', 8.5]
  • 打赏
  • 举报
回复
引用 5 楼 lgmsyy 的回复:
[quote=引用 4 楼 u011376884 的回复:] [quote=引用 3 楼 lgmsyy 的回复:] 以至于alert("2:"+str);还是打不出str中的数据。
非得纠结alert吗? 那你把alert放到 $(document).ready(function() { 外面 或者把循环放到success里 或者
setTimeout(function(){
                            alert……
                        },5000);
ajax执行是需要时间的……[/quote] 只这样的,必须等到function(data)执行后,返回数据,才能将这个数据传给下面的js执行啊。否则如果先执行下面的js,那么是没意义的啊[/quote] 那你把下面的js单写成一个方法,类似function abc(value) 在success的最后调用abc(str) 或者直接调用abc(data) 不需要str(如果其他地方不需要)
lgmsyy 2015-05-14
  • 打赏
  • 举报
回复
引用 4 楼 u011376884 的回复:
[quote=引用 3 楼 lgmsyy 的回复:] 以至于alert("2:"+str);还是打不出str中的数据。
非得纠结alert吗? 那你把alert放到 $(document).ready(function() { 外面 或者把循环放到success里 或者
setTimeout(function(){
                            alert……
                        },5000);
ajax执行是需要时间的……[/quote] 只这样的,必须等到function(data)执行后,返回数据,才能将这个数据传给下面的js执行啊。否则如果先执行下面的js,那么是没意义的啊
  • 打赏
  • 举报
回复
引用 3 楼 lgmsyy 的回复:
以至于alert("2:"+str);还是打不出str中的数据。
非得纠结alert吗? 那你把alert放到 $(document).ready(function() { 外面 或者把循环放到success里 或者
setTimeout(function(){
                            alert……
                        },5000);
ajax执行是需要时间的……
lgmsyy 2015-05-14
  • 打赏
  • 举报
回复
引用 2 楼 lgmsyy 的回复:
[quote=引用 1 楼 u011376884 的回复:]

success: function(data) {
            str=data;
}
你的str重复了,success里的换个名就行
var str = ""; $(document).ready(function() { $.ajax({ url: "/List.action", type: "post", success: function(data) { str = data alert("1:"+str);// ... } }); alert("2:"+str);//我实验的时候为什么页面先执行这行,然后才执行以上的代码 。。。。 });[/quote] 以至于alert("2:"+str);还是打不出str中的数据。
lgmsyy 2015-05-14
  • 打赏
  • 举报
回复
引用 1 楼 u011376884 的回复:

success: function(data) {
            str=data;
}
你的str重复了,success里的换个名就行
var str = ""; $(document).ready(function() { $.ajax({ url: "/List.action", type: "post", success: function(data) { str = data alert("1:"+str);// ... } }); alert("2:"+str);//我实验的时候为什么页面先执行这行,然后才执行以上的代码 。。。。 });
  • 打赏
  • 举报
回复

success: function(data) {
            str=data;
}
你的str重复了,success里的换个名就行

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧