我从昨天开始就遇到了这个问题。如果我在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();
});
答案 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();
}
});
});