Javascript ASP.NET如何跨多个cshtml文件重用jQuery事件处理程序
我有这个方法来添加一个全局事件处理程序,所以我可以检查每个ajax请求是否添加了响应头以及如何响应 这工作非常好,但我需要在多个视图(cshtml)中使用它。因此,与其在每个文件中复制它,是否有一种方法可以将其提取出来,以便从其他文件调用它,或将其全局应用于我的所有视图Javascript ASP.NET如何跨多个cshtml文件重用jQuery事件处理程序,javascript,jquery,asp.net,ajax,Javascript,Jquery,Asp.net,Ajax,我有这个方法来添加一个全局事件处理程序,所以我可以检查每个ajax请求是否添加了响应头以及如何响应 这工作非常好,但我需要在多个视图(cshtml)中使用它。因此,与其在每个文件中复制它,是否有一种方法可以将其提取出来,以便从其他文件调用它,或将其全局应用于我的所有视图 $(document).ajaxSuccess(function(event, request, settings) { if (request.getResponseHeader('ResponseHe
$(document).ajaxSuccess(function(event, request, settings) {
if (request.getResponseHeader('ResponseHeader') === '1') {
window.location.href = '@Url.Action("Action", "Controller")';
}
});
代码本身并不是非常重要,只是更重要的是,是否有可能在我所有的视图中重用这些代码,而不复制它们。我还考虑创建一个全局事件处理程序,它将检查来自所有ajax请求的http状态代码响应,然后适当地响应代码,例如,将任何404代码重定向到未找到的页面。必须有一种方法来实现这一点或类似的事情,而不是在每个ajax调用中复制这一点
我使用的主要语言是C#,而且我是JavaScript/jQuery的初学者,因此如果有任何额外的解释,我将不胜感激
谢谢
jQuery版本:1.10.2…将单个共享的.js文件添加到页面中会不起作用吗?也就是说,Ajax不应该像那样影响您的视图。当Ajax请求因404代码而失败时,您不希望将整个视图重定向到404页面。您可能希望在适当的位置显示错误消息。@Tomalak我曾尝试创建一个js文件,并使用,以查看是否可以导入该文件并使用其上的函数,但我很幸运能够实现这一点。你知道我可以用这样的共享文件吗?也许更合适的用法是使用toastr通知,其中包含一些关于用户出错的信息,而不是重定向。通知肯定会更好。如果使用
没有按您所想的方式工作,请分享您所做的尝试。我制作了一个js文件,使用了上面的代码,但将其包装在“function testMethod(){}”中。然后我在我的cshtml文件中使用了。然后我尝试使用$.testMethod()调用它;在控制台中,它表示testMethod不是一个函数。