我有一个页面,其中包含通过ajax请求返回的部分视图的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'));
}
}
});
部分视图本身有一个模型,并根据返回的会话数构建一个组合框。
@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,这不是问题。
答案 0 :(得分:3)
默认&#39;类型&#39; jQuery ajax请求的参数是&#39; GET&#39;哪个IE会缓存。您可以在ajax请求中禁用缓存,也可以切换到&#39; POST&#39;防止这种情况 -
$.ajax({
...
cache: false
});