2017-10-05 161 views
0

自从昨天以来,我一直被这个问题困住了。如果我在chrome和I.E中运行下面的代码。它完美地工作。它在“WorkOrder”中调用“AssignWorkOrders”方法,并在最后重新加载页面以显示更改。window.location.reload()在firefox中不起作用

但是,当我使用Firefox控件跳过调用“AssignWorkOrders”方法(不要转到AssignWorkOrders)并且也不重新加载页面。

另外,如果我注释掉window.location.reload();控件将为所有3个浏览器调用“AssignWorkOrders”方法。

请问你可以建议使用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(); 
      }); 
+2

因为你的Ajax调用完成之前做到这一点.... – epascarello

+0

你在哪里暗示我打电话呢?? –

+0

里面的成功? – epascarello

回答

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(); 
        } 
       });     
      }); 
+0

现在控件转到“AssignWorkOrders”函数,但它没有重新加载/刷新网页。 –