У меня есть список, который я хочу обновить с помощью jquery / ajax для вызова веб-метода из кода за страницей. в списке отображаются все пользователи, которые вошли в систему (они добавляются в глобальный список при успешном входе в систему). Очевидно, я могу получить список обновлений, используя полные обновления страницы, но это не эстетично. У меня две проблемы.
Когда я запускаю приложение в Chrome и проверяю сетевую активность с помощью инструментов разработчика, я не вижу вызываемого веб-метода. У меня есть другие веб-методы, которые (я вижу) запускаются / выполняются, как и ожидалось.
я написал сценарий на основе найденного примера, поэтому я не совсем уверен (я относительно новичок в этих областях), если я (а) правильно получаю данные из списка (я просто хотите, чтобы имя пользователя отображалось) и (б) правильно добавили его в список.
вот вебметод:
[WebMethod()]
public static string[] getCurrentList()
{
int count = 0;
for(int i = 0; i < Global.ListUsers.Count(); i++)
count++;
string[] results = new string[count];
for (int i = 0; i < count; i++)
{
results[i] = Global.ListUsers[i].Username.ToString();**//edited...**
}
return results;
}
и сценарий:
$(function updateListbox() {
var lBox = $('select[id$=ListBox1]');
setInterval(function () {
$.ajax({
beforeSend: function (req) {
req.setRequestHeader("Accept", "application/json");
},
type: "POST",
url: "Homepage.aspx/getCurrentList",
data: "json=" + JSON.stringify(data),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
var results = data.d;
if (results.length > 0) {
var updatedList = [];
for (var i in results) {
updatedList.push(results[i]);
}
$(lBox).append(updatedList.join('\n'));
}
else alert("No new items to update...");
}
});
}, 5000);
});
вся помощь и предложения приветствуются и ценятся