window.location.reload()在firefox中不起作用

时间:2017-10-05 15:05:00

标签: javascript c# ajax model-view-controller

我从昨天开始就遇到了这个问题。如果我在chrome和I.E中运行以下代码。它完美地运作。它称之为" AssignWorkOrders"方法" WorkOrder"并在最后重新加载页面以显示更改。

然而,当我使用Firefox控制跳过调用" AssignWorkOrders"方法(不要转到AssignWorkOrders)也不要重新加载页面。

另外如果我注释掉window.location.reload();控制将调用" AssignWorkOrders"所有3个浏览器的方法。

请问你能说明使用window.location.reload ??

有什么问题

任何帮助将非常感谢..我非常坚持使用Firefox。如果不清楚或需要任何其他细节,请告诉我......

$.confirm("@Resources.LanguageStrings.ReadyToAssignWorkOrders".format(workOrderIds.length),
                function() {

                var objToSend = { workOrderUpdateParams: workOrderIds };

                $.ajax({
                    url: '@Url.Action("AssignWorkOrders", "WorkOrder")',
                    dataType: 'json',
                    type: 'POST',
                    traditional: true,
                    cache: false,
                    data: $.toDictionary(objToSend),
                    success: function(json) {
                        // get a handle to the dataTbale and redraw the page
                        var oTable = $('##WorkOrderList').dataTable();
                        oTable.fnDraw();
                        selectAllComboItems('#SelectedStaff', false);
                        selectAllComboItems('#SelectedVendor', false);
                    }
                });
                window.location.reload();
            });

1 个答案:

答案 0 :(得分:1)

您在异步请求后直接重新加载。这将导致页面在请求完成之前重新加载。你需要在成功方法中做到这一点...

$.confirm(
    "@Resources.LanguageStrings.ReadyToAssignWorkOrders"
        .format(workOrderIds.length),
                function() {

                var objToSend = { workOrderUpdateParams: workOrderIds };

                $.ajax({
                    url: '@Url.Action("AssignWorkOrders", "WorkOrder")',
                    dataType: 'json',
                    type: 'POST',
                    traditional: true,
                    cache: false,
                    data: $.toDictionary(objToSend),
                    success: function(json) {
                        // get a handle to the dataTbale and redraw the page
                        var oTable = $('##WorkOrderList').dataTable();
                        oTable.fnDraw();
                        selectAllComboItems('#SelectedStaff', false);
                        selectAllComboItems('#SelectedVendor', false);
                        // do it here
                        window.location.reload();
                    }
                });                
            });