2017-01-09 52 views
0

我写了一个MVC应用程序,并且在消息(错误和成功)都关闭后,我确实需要重新加载窗口。 我该如何做到这一点?如何在Hubspot Messenger()。run()消息关闭后重新加载窗口?

其实,我想在我的按钮点击这个代码,但没有运气:

Messenger().run({ 
     successMessage: 'Record Removed!', 
     errorMessage: 'Error', 
     progressMessage: 'Removing record...', 
     events: { 
      "click": function() { 
       window.location.reload(); 
      } 
     } 
    }, { 
     method: 'DELETE', 
     url: $(this).data('url'), 
     error: function (jqXHR, textStatus, errorThrown) { 
      return errorThrown; 
     } 
    }); 

CodePen测试:http://codepen.io/larissa/pen/rjOpRM/

回答

0

我决定改变这种解决方案。感谢@codenut的帮助! 使用此代码,适合我。

$(document).on('click', 'button.deleteButton', function (e) { 
    var urlDelete = $(this).data('url'); 
    var table = $('#' + $(this).data('grid')).DataTable(); 

    Messenger().run({ 
     successMessage: 'Row removed!', 
     progressMessage: 'Removing row...' 
    }, { 
     method: 'DELETE', 
     url: urlDelete, 
     error: function (jqXHR, textStatus, errorThrown) { 
      return errorThrown; 
     }, 
     complete: function() { 
      table.ajax.reload(); 
     } 
    }); 
}); 
+1

不错,但是如何在错误时重新加载。并且我已经中和了你的问题;) – codenut

+0

@codenut,用这种方法,我做了部分重新加载,只对受删除操作影响的网格。您的帮助对这个解决方案至关重要! – Lari

+1

很高兴听到这个消息 – codenut

1

不知道,但尝试这个

Messenger().run({ 
     successMessage: 'Record Removed!', 
     errorMessage: 'Error', 
     progressMessage: 'Removing record...', 
     events: { 
      "click": function() { 
       window.location.reload(); 
      } 
     } 
    }, { 
     method: 'DELETE', 
     url: $(this).data('url'), 
     error: function (data) { 
       location.reload(); 
     }, 
     success: function (data) { 
       location.reload(); 
     }, 

    }); 
+0

谢谢@codenut,但是使用这种方法,在** ajax执行之前会发生**重载。 – Lari

+0

现在更新代码。 – codenut

+0

再次感谢@codenut,采用这种新方法,万一发生错误,MVC返回的特定消息不会显示出来。 – Lari

相关问题