IE11 Ajax 仅在开发工具打开时发出请求

IE11 Ajax Request Only Made if Dev Tools Open

我有一个 asp.net MVC5 应用程序使用 knockoutjs 作为视图。

下一页的 "Refresh" 按钮有问题:

按钮点击绑定到以下ajax请求:

self.get = function () {
        $loadingIndicator.show();

        $.ajax({
            url: BASE_URL + 'APInvoicesSummary/GetRecords',
            type: 'get',
            data: {
                'cache': false,
                'page': self.pagingOptions.currentPage(),
                'pageSize': self.pagingOptions.pageSize(),
                'filter': self.filterOptions.filterText == undefined ? '' : self.filterOptions.filterText(),
                'sort': self.sortInfo().column.field + ' ' + self.sortInfo().direction
            },
            contentType: 'application/json; charset=utf-8',
            success: function (data) {
                self.pagingOptions.totalServerItems(data.RecCount);

                var recsArray = [];
                $.each(data.PageOfRecords, function (key, value) {
                    recsArray.push(
                        new rec(
                            moment(value.DateReceived).format('DD/MM/YYYY HH:mm ss'),
                            value.BatchRef,
                            value.Control_NumOfItems,
                            Math.round(value.Control_Value * 100) / 100,
                            value.Control_LinkToArchive,
                            value.Rejected_NumOfItems,
                            value.Rejected_Value,
                            value.Accepted_NumOfItems,
                            Math.round(value.Accepted_Value *100) / 100,
                            value.RejectedLineNumbers,
                            value.LinkToEditBatch
                            )
                    );
                });
                self.recs(recsArray);
            }
        });

这是绑定:

<div id="Refresh">
    <button type="button" class="btn btn-default btn-md refresh-button" data-bind="click: get">
        <span class="glyphicon glyphicon-refresh" aria-hidden="true"></span> Refresh
    </button>
</div>

在 Chrome 下一切正常,但在 IE11 中 运行 时,单击按钮无效,除非打开 F12 开发工具 - 然后它工作正常。我可以在提琴手中看到,如果没有打开 Dev Tools,则不会发出任何请求。

有什么想法吗?

我在别处读到这可以归结为 javascript 中的 console.log 代码,但我进行了搜索并找到了 none。

我创建了以下自定义 ActionFilterAttribute

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public sealed class NoCacheAttribute : ActionFilterAttribute
{
    public override void OnResultExecuting(ResultExecutingContext filterContext)
    {
        filterContext.HttpContext.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
        filterContext.HttpContext.Response.Cache.SetValidUntilExpires(false);
        filterContext.HttpContext.Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
        filterContext.HttpContext.Response.Cache.SetCacheability(HttpCacheability.NoCache);
        filterContext.HttpContext.Response.Cache.SetNoStore();

        base.OnResultExecuting(filterContext);
    }
}

然后我装饰了控制器 class,其中包含我的 KnockoutJS 正在对 Ajax 调用的操作:

[NoCache]
public class APInvoicesSummaryController : APInvoicesBaseController
{