我想对我存储在var searchingUsers中的数据做一些事情,问题是当我做警报时(searchingUsers);它里面没有任何东西。如果我做警报(searchingUsers);在var用户代码下。它有一些东西。
我认为这是因为代码在完全执行之前已经运行。现在我想要在那里添加另一个回调函数,只是它似乎无法正常工作我总是会遇到错误。
function addFriend() {
var formData = "name=" + $("#nameForm").val() + "&familyname="
+ $("#familyname").val() + "&emailaddress="
+ $("#emailaddress").val();
var searchedUsers = [];
$.ajax({
type : "POST",
url : "ControllerJavascript?action=addFriend",
dataType : "xml",
data : formData,
success : function(xml) {
$(xml).find("user").each(
function() {
var user = $(this).find("name").text().trim() + " "
+ $(this).find("familyname").text().trim()
+ " // " + $(this).find("email").text().trim();
searchedUsers.push(user);
});
},
error : function() {
alert("An error occurred while processing XML file.");
}
});
alert(searchedUsers);
getFriends();
}
是否可以添加另一个回调函数,以便首先将所有用户推送到searchUsers?
答案 0 :(得分:1)
您已经拥有此功能:
success : function(xml) {
...
},
这是你的回调。只需在每种方法后调用警报:
success : function(xml) {
$(xml).find("user").each(
function() {
var user = $(this).find("name").text().trim() + " "
+ $(this).find("familyname").text().trim()
+ " // " + $(this).find("email").text().trim();
searchedUsers.push(user);
});
alert(searchedUsers);
},