<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函数里的数据,为什么啊?