javascript - IE 不更新 Asp.Net MVC3 部分 View

标签 javascript jquery ajax asp.net-mvc internet-explorer-11

我有一个页面,其中包含通过 ajax 请求返回的部分 View 的 div。

    $.ajax({
        url: 'CompleteSessions',
        success: function (data) {

            var selector = $('#complete-session-section');
            if (data.length > 0) {
                selector.html(data);
            }
            else {
                selector.append($(document.createElement('option')).html('No assessments'));
            }
        }
    });

局部 View 本身有一个模型,并根据返回的 session 数构造一个组合框。

    @using SmartQWeb.Models.Entities
@using SmartQWeb.Runtime;
@model IEnumerable<Session>


<span class="dropdown">
<select style="width: 75%" id = "complete-session-selector">
    <option id="-1">Select a Session</option>
    @foreach (Session session in Model.OrderByDescending(date=>date.StartTime))
    {
        if (session.Assessment != null)
        {
            <option id="@session.AssessmentId" value="@session.Id" title="Administered by: @session.User.Name" data-assessmentId="@session.AssessmentId">@session.Participant.AliasLookup.AliasId - @session.StartTime  </option>
        }
    }
</select>


</span>

问题是,仅对于 IE,首次加载页面时下拉列表不会正确更新。我必须按 F5(有时控制 F5)来刷新并查看组合框中的新条目。对于 Chrome 或 Firefox,这不是问题。

最佳答案

jQuery ajax 请求的默认“类型”参数是 IE 将缓存的“GET”。您可以在您的 ajax 请求中禁用缓存或切换到“POST”来防止这种情况 --

$.ajax({
    ...
    cache: false
});

关于javascript - IE 不更新 Asp.Net MVC3 部分 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22967116/

相关文章:

javascript - 表格单元格内的文本框周围没有边距

asp.net - 奇怪的问题: IE8 user can't authenticate with web service

javascript - Highcharts csv 数据加载

javascript 对象未定义错误

php - 我想要最简单的ajax表单应用程序

javascript - POST 请求完成后的 GET 请求

javascript - 使用 FabricJS 的箭头形状

javascript - 在 Wordpress Genesis Framework 上向下滚动页面时向标题添加颜色

单元测试中的 Javascript setSelectionRange 未按预期运行

jquery - AJAX + SEO 快速提问