javascript - 如何让ajax请求获取到数据apt_list后再执行下面代码里的for循环?
高洛峰
高洛峰 2017-04-10 17:04:26
[JavaScript讨论组]
  1. 描述你的问题
    如何让ajax请求获取到数据后再执行下面代码里的for循环?老是报错说apt_list没定义,这个apt_list是一个全局变量,存着ajax请求返回的数据。但是直接return apt_list又可以显示在页面上。

  2. 贴上相关代码

  3. Aptlist = React.createClass({

       delay:function(){
           setTimeout('this.render()',5000);
           return null
    
       },
       render:function(){   
           return   <p>{
            (  function (){
               
           var list="<li>日期&nbsp&nbsp&nbsp时间&nbsp&nbsp&nbsp教室&nbsp&nbsp&nbsp理由</li>";
               for(var i = 0; i <=apt_list.length; i++) {
               list  = list+
               "<li><span>"+apt_list[i].date+"</span>"
               "<span>"+apt_list[i].time_id+"</span>"
               "<span>"+apt_list[i].classroom_id+"</span>"
               "<span>"+apt_list[i].reason+"</span>"
               "</li>";                
           }
           
           return list })()
       }
               </p>      
       }
    

    });
    React.render(<Aptlist></Aptlist>,document.getElementById('all_apt'));

  4. 贴上报错信息

  5. 贴上相关截图

  1. 已经尝试过哪些方法仍然没解决(附上相关链接)

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(2)
迷茫

for(var i = 0; i <=apt_list.length; i++) {

遍历数组的时候需要用小于,而不是小于等于

for(var i = 0; i <apt_list.length; i++) {

伊谢尔伦

初始化状态

constructor() {
    super()
    this.state = {
        loading: true,
        infos: []
    }
}

在ajax回调中设置状态

$.ajax({
    success:function(data) {
        this.setState({
            loading: false,
            infos: data
        })
    }
})

数据获取之前显示loading, 数组用map()遍历更佳

render() {
    return (
        {this.state.loading
            ? <Loading/>
            : this.state.infos.map((info) => {
                <li>info</li>
            })
        }
    )
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号