Моя проблема немного сложна:
Я пишу на c #, asp.net и использую jquery
- У меня есть страница, которая отправляет запросы
сервер, использующий ajax jquery
способ.
- У меня есть файл Ashx (обработчик) для
ответьте на этот запрос.
- Пользователь может выполнить несколько изменений
несколько страниц, затем используйте какой-то метод
это вызовет метод ajax.
- Мой файл Ashx читает некоторые значения из
переменные и действия сеанса
соответственно.
Это прекрасно работает во всех браузерах, кроме в Internet Explorer.
В Internet Explorer сеанс, кажется, содержит старую информацию (старые идентификаторы пользователей). Это невероятно, один и тот же код отлично работает в Firefox, Chrome и Safari, но не работает с ie.
Что может быть причиной? Я понятия не имею, где вообще начать искать решение.
Кстати, извините за общее название, не могу понять, как объяснить это всего за несколько слов.
Вот код JQuery и Ashx:
JQuery
function SendRequstToServer(actionId, additional, callback) {
if (actionId == "-1") {
document.location = "default.aspx";
}
$.ajax({ url: "SmallRoutinesHandler.ashx", method: "GET",
//asyn: false,
data: "Action=" + actionId + additional,
contentType: "string",
error: function(xhr, status, errorThrown) {
alert(errorThrown + '\n' + status + '\n' + xhr.statusText);
},
success: function(data) {
alert(data);
callback(data);
}
});
}
ASHx
context.Response.ContentType = "text/plain";
action = context.Request.QueryString["Action"];
switch ((ClientSideActionsRequest)Enum.Parse(typeof(ClientSideActionsRequest), action))
{
case ClientSideActionsRequest.ShowProducts:
long userId = WebCommon.CurrentlyWatchedUser.Id;
List<UserItems> userItems = UserItems.GetByUserId(userId);
string[] items = HtmlWrapper.WrapAsItems(userItems);
if (items.Length > 0)
{
context.Response.Write(items.Aggregate((current, next) => string.Format("{0} , {1}", current, next)));
}
break;
}
Спасибо!