我想使用兩個單獨的ajax調用填充兩個表。以下是我的代碼。使用兩個Ajax調用填充兩個html表中的數據
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」中的任何函數。
當我取消註釋註釋循環時,它將不會執行超出循環。填充項目列表表格後,它會停止執行。因此「然後」功能不會被執行。似乎只有一個表數據人口循環可以在那裏。
我希望兩個表都可以使用ajax一個接一個填充。我對此很困惑。有人能指出我正確的方向嗎?
您是否嘗試過尋找在控制檯中的任何錯誤?按F12打開控制檯(至少在IE和Chrome上),看看在for-loop運行時是否出現錯誤。 – Travesty3 2014-10-18 03:32:05
感謝您的回覆。我把它修好了。我通過1開始循環做了一個愚蠢的錯誤,它應該從0開始。 – plr 2014-10-18 04:35:34