总有一天你的谜底会解开 2022-03-09 13:40 采纳率: 77.4%
浏览 35
已结题

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条回答 默认 最新

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 系统已结题 3月17日
      • 已采纳回答 3月9日
      • 创建了问题 3月9日

      悬赏问题

      • ¥15 ME21N 创建采购成功并且生成采购订单号,但显示“快件文档更新已取消”,SM13看错误提示为如下截图:
      • ¥30 android 集成fmod实现变声功能中遇到的问题
      • ¥60 matlab传染病模型分段
      • ¥15 关于#matlab#的问题,如何解决?
      • ¥15 51单片机汇编语言Keil5基础问题!
      • ¥15 CygwinPortable 中 NumPy 无法安装
      • ¥15 vivado如何支持多维打包数组模式
      • ¥15 请问第13题到底应该怎么做
      • ¥15 倒计时汇编语言RTC实时时钟
      • ¥15 CCS安装出现Failed to create the part's controls