一个奇葩问题 ,js代码编写如下,不加alert无法执行后边的代码。这个问题的错误很难找,找了好久,希望查询这个错误的你看到这篇文章就能解决问题,这样的问题原因应该是前面的post请求可能还没有完成,后边的代码不执行,解决方案是在红色处等待一阵,我是使用ajax去加载的一个table,,可以在红色处添加window.setTimeout(function () { test(); }, 500);,让其等待,这样会影响执行时间,我接下来会继续寻找解决办法。
$(function () {
$.post("tabledata.ashx", {}, function (data) {
var dataNew = $.parseJSON(data);
var length = dataNew.length;
for (var i = 0; i < length; i++) {
$("<tr><td>" + dataNew[i].id + "</td>" + "<td>" + dataNew[i].username +
"</td>" + "<td>" + dataNew[i].userSex + "<a href='javascript:void(0)' class='detail' nid='"
+ dataNew[i].id + "'>删除</a>" + "</tr>").appendTo("#table1");
}
});
alert("123");
//window.setTimeout(function () { test(); }, 500);
$(".detail").click(function () {
var id = $(this).attr("nid");//获取对应Id值
$.post("delete.ashx", { "id": id }, function (data) {
if (data != 0) {
alert("success");
location.reload(true);
}
else {
alert("fail");
}
});
});
// test();
});