Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ASP.NET如何跨多个cshtml文件重用jQuery事件处理程序_Javascript_Jquery_Asp.net_Ajax - Fatal编程技术网

Javascript ASP.NET如何跨多个cshtml文件重用jQuery事件处理程序

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

我有这个方法来添加一个全局事件处理程序,所以我可以检查每个ajax请求是否添加了响应头以及如何响应

这工作非常好,但我需要在多个视图(cshtml)中使用它。因此,与其在每个文件中复制它,是否有一种方法可以将其提取出来,以便从其他文件调用它,或将其全局应用于我的所有视图

    $(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不是一个函数。