使用两个ajax调用在两个html表中填充数据
populating data in two html tables using two ajax calls
我试图使用两个独立的ajax调用来填充两个表。以下是我的代码。
var payload = "authUserName=admin&authPassword=admin";
$.ajax({
url: "https://appserver.dev.cloud.wso2.com/t/madusanka/webapps/projecttracker-default-SNAPSHOT/services/projecttracker/userservice/user/1/projects",
type: "POST",
async: false,
dataType: "json",
data: payload,
complete: function(data) {
alert("complete " + JSON.stringify(data));
// for(var i = 1; i<= data.projects.project.length; i++){
// var tableRow = "<tr><td>" + data.projects.project[i].projectName + "</td><td>" + data.projects.project[i].startDate + "</td><td>" + data.projects.project[i].endDate + "</td><td>" + data.projects.project[i].statusId + "</td><td>" + "delete" + "</td></tr>";
// $("#projectListTable tbody:last").append(tableRow);
// }
}
}).then(function(data) {
alert("started");
var payload2 = "authUserName=admin&authPassword=admin";
$.ajax({
url: "https://appserver.dev.cloud.wso2.com/t/madusanka/webapps/projecttracker-default-SNAPSHOT/services/projecttracker/userservice/user/1/projects",
type: "POST",
async: false,
dataType: "json",
data: payload2
}).then(function(data) {
alert("ended");
for(var i = 1; i<= data.projects.project.length; i++){
var tableRow = "<tr><td>" + data.projects.project[i].projectName + "</td><td>" + data.projects.project[i].startDate + "</td><td>" + data.projects.project[i].endDate + "</td><td>" + data.projects.project[i].statusId + "</td><td>" + "delete" + "</td></tr>";
$("#userTable tbody:last").append(tableRow);
}
});
});
如果我按原样运行上面的代码,它会执行得很好,并执行"then"中的任何函数。
当我取消注释注释的for循环时,它不会执行超出for循环的内容。在填充项目列表表之后,它简单地停止执行。因此,"then"函数不会被执行。似乎只有一个表数据填充循环可以存在。
我希望使用ajax一个接一个地填充这两个表。我真的很困惑。有人能给我指正确的方向吗?
为什么需要同时具有complete
和then
回调函数?看看你的代码,它们似乎没有什么不同。你也可以这样合并它们:
var payload = "authUserName=admin&authPassword=admin";
$.ajax({
url: "https://appserver.dev.cloud.wso2.com/t/madusanka/webapps/projecttracker-default-SNAPSHOT/services/projecttracker/userservice/user/1/projects",
type: "POST",
dataType: "json",
data: payload,
complete: function(data) {
alert("complete " + JSON.stringify(data));
for(var i = 1; i<= data.projects.project.length; i++){
var tableRow = "<tr><td>" + data.projects.project[i].projectName + "</td><td>" + data.projects.project[i].startDate + "</td><td>" + data.projects.project[i].endDate + "</td><td>" + data.projects.project[i].statusId + "</td><td>" + "delete" + "</td></tr>";
$("#projectListTable tbody:last").append(tableRow);
$("#userTable tbody:last").append(tableRow);
}
}
});
相关文章:
- 如何基于两个下拉选择从数据库中检索数据
- 解耦按钮(两个按钮同时切换),并根据数据显示相应的按钮
- 如何从两个不同的来源提取JSON数据
- 通过共享服务在两个不同ng应用程序中的控制器之间共享数据
- 如何外部联接两个数据集(基于多个主键)
- jQuery 选择器,用于通过比较元素的两个数据属性来选择元素
- 以角度交叉引用两个数据集
- 使用Node/JS合并两个数据集
- Jquery mobile -如何为两个数据集使用listview数据过滤器
- 使用两个数据器拖放图像
- 使用JavaScript从SharePoint组合和排序两个数据集合
- 两个数据表在一个页面中-第二个初始化奇怪
- 如何加载CSV和JSON文件,并使用d3将两个数据集组合到一个数据集.Json, d3.csv和d3.zip
- 合并两个数据uri以创建单个图像
- 谷歌分析:在多跟踪设置中不接收两个数据流
- 为什么我返回ajax调用给我两个数据拾取器输入框
- 如何比较两个数据对象's
- 基于JavaScript中的公共值合并两个数据结构
- 将两个数据数组组合并修改为单个数组
- 两个数据与单选按钮在一个aspx页面