总有一天你的谜底会解开
2022-03-09 13:40
采纳率: 78.8%
浏览 34

js函数中变量未取得值就返回

 <script type="text/javascript">
        let xx;
         function updateData() {
            let x;
            x=receiveData();
            console.log('收到的x的值为:'+x);
            // 添加了多个新行并加入数据
            useData(x);
        }
        function receiveData() {
            $.get("/ShangCheng_war_exploded/data", function (data) {   //获取成功执行的方法
                window.alert('接受到异步请求数据:' + JSON.stringify(data))  //弹窗展示数据
                xx = data;
            });
            alert(xx);
            return xx;
        }
        function useData(x) {
            let tbody = document.getElementById("tbody")
            for (let a = 0; a < x.length; a++) {
                let row = getRow(x[a]);
                // alert(x[a].length);
                tbody.append(row);
            }
        }
        function getRow(w) {
            let trow = document.createElement("tr");
            let input = document.createElement("input");
            input.setAttribute("type", "checkbox");
            trow.append(input);
            let hang = ["name", "author", "store", "money", "date"];
            for (let qq = 0; qq < hang.length; qq++) {
                let td = document.createElement("td");
                td.innerHTML = w[hang[qq]];
                trow.appendChild(td);
            }
            return trow;
        }
    </script>

问题背景:
第一次调用receiveData()函数时,xx总是打印的unfined然后直接返回,需要再调用一次该函数才能使xx得到get函数里的数据,为什么啊?

3条回答 默认 最新

相关推荐 更多相似问题