c# - Internet Explorer ashx 文件问题

标签 c# asp.net jquery internet-explorer httphandler

我的问题有点复杂: 我正在用 c#、asp.net 编写并使用 jquery

  1. 我有一个页面发送请求到 服务器使用 jquery 的 ajax 方法。
  2. 我有一个 ashx 文件(处理程序) 响应这些请求。
  3. 用户可以对 几个页面,然后使用一些方法 这将调用 ajax 方法。
  4. 我的 ashx 文件从 session 变量和行为 相应地。

这在所有浏览器中都能正常工作,但在 Internet Explorer 中除外。 在 Internet Explorer 中, session 似乎包含旧信息(旧用户 ID)。令人难以置信,相同的代码在 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);
        }
    });
}

阿什克斯

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;
}

谢谢!

最佳答案

能具体点吗?这里有一些可能出错的地方 - 它是在浏览器上缓存,还是在服务器上调试时,它是否显示 Session 的旧值?

确保将 jQuery .ajax 调用的缓存选项设置为 false。您可能还想查看 this question and answer关于 IE 的 ajax 缓存的侵略性。

关于c# - Internet Explorer ashx 文件问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2632863/

相关文章:

c# - 第一个字母数字字符处的子字符串

c# - 从 app.config 读取正则表达式和字符串

c# - 将位值写入数据库

javascript - 关于组合框和类似 Facebook 的消息编辑器的 CSS/Javascript(或 JQuery)教程

javascript - document.ready 和 append 动态表单项

c# - 围绕原点旋转一个点的正确三角法

C# 从 SQL DataTable 填充组合框

javascript - 准备在属性中使用的转义/编码字符

asp.net - Paypal 失败通知

javascript - 警告从数据库循环选定的下拉列表项