Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.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 MVC应用程序正在抛出一个403.14_Javascript_Angularjs_Asp.net Mvc 4 - Fatal编程技术网

Javascript ASP.NET MVC应用程序正在抛出一个403.14

Javascript ASP.NET MVC应用程序正在抛出一个403.14,javascript,angularjs,asp.net-mvc-4,Javascript,Angularjs,Asp.net Mvc 4,我有一个ASP.NETMVC应用程序。该应用程序使用客户端JavaScript框架。当我访问主URL时,此应用程序工作正常。该URL如下所示: http://localhost:1801/my-app/Item?i=123 http://localhost:1801/#/my-app/Item?i=123 但是,当我在旧浏览器(IE8)中加载应用程序时,用户会被重定向到包含哈希(#)的URL。新的URL如下所示: http://localhost:1801/my-app/Item?i=123

我有一个ASP.NETMVC应用程序。该应用程序使用客户端JavaScript框架。当我访问主URL时,此应用程序工作正常。该URL如下所示:

http://localhost:1801/my-app/Item?i=123
http://localhost:1801/#/my-app/Item?i=123
但是,当我在旧浏览器(IE8)中加载应用程序时,用户会被重定向到包含哈希(#)的URL。新的URL如下所示:

http://localhost:1801/my-app/Item?i=123
http://localhost:1801/#/my-app/Item?i=123
对于较旧的浏览器,ASP.NET MVC返回的状态代码为403.14。我已经确认路线是问题所在。我通过复制第二个URL并将其粘贴到Chrome中实现了这一点。换句话说,应用程序在第一个URL的Chrome中工作,然而,我在第二个URL的Chrome中得到了403.14

如何使ASP.NET MVC接受第二个URL?据我所知,客户端框架正在添加散列作为某种回退方法,因为IE8不支持HTML5路由


谢谢大家!

我们需要更多的信息来解释这里发生了什么。我们谈论的是哪种客户端框架?URL在哪里生成(由这个客户端框架或Razor生成)?您可能并不真的希望MVC接受散列URL;相反,您可能想解决为什么您的客户端框架尝试对服务器URL使用客户端(哈希)路由的问题。散列的目的是指示路由是用javascript处理的,而不是由服务器处理。@AndrewCounts-AngualrJS是客户端框架。URL只是MVC路由。然而,出于某种原因,在IE9中,AngularJS执行客户端重新路由,并包括“#”在我看来,您仍然需要重写这个问题,并且可能会显示一些示例代码,说明何时使用角度路由,何时使用服务器路由。这不是ASP.Net MVC的问题,因为它永远不会生成
,也不会为服务器路由生成一个。要么这些确实是Angular没有处理的角度路由,要么Angular错误地生成了外部链接。