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

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

  • 关注

    $.ajaxSettings.async = false;
    添加上面这一句。
    让 ajax请求变成同步的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 如何提取csv文件中需要的列,将其整合为一篇完整文档,并进行jieba分词(语言-python)
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符
  • ¥15 NX MCD仿真与博途通讯不了啥情况
  • ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
  • ¥15 gradio的web端页面格式不对的问题
  • ¥15 求大家看看Nonce如何配置
  • ¥15 Matlab怎么求解含参的二重积分?