javascript - Angular HTML5 模式路由给资源找不到

标签 javascript asp.net-mvc angularjs html

我正在使用 angularjs 在 .net mvc 中开发应用程序。当我不使用 html5 模式时,它工作正常,但是当我将 html5 模式设置为 true 时,服务器调用该地址给我一个他的资源无法找到。

这是我的 app.js

var app = angular.module("myApp", ['ngRoute'])
.config(function ($routeProvider, $locationProvider) {
    $routeProvider.when('/test',
    {
        templateUrl: 'templates/TestPage.html',
        controller: 'ProfesionalController'
    });

    $routeProvider.otherwise({ redirectTo: '/' });

    $locationProvider.html5Mode(true);


});

这是我的观点(布局):

<!DOCTYPE html>

@Scripts.Render("~/bundles/modernizr")
<script src="~/Scripts/angular/angular.js"></script>
<script src="~/Scripts/angular/angular-route.js"></script>


<script src="~/app/app.js"></script>
<script src="~/app/home/home.js"></script>
<script src="~/app/profesional/profesional.js"></script>
<base href="/">

         <a href="test">Test</a>
         @*this is the link*@

        </div>
    </div>
</div>
<div ng-app="myApp" class="container body-content">
    <div ng-view></div>
    @RenderBody()

</div>

@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required: false)

当我点击测试链接时,服务器尝试定位: http://localhost:39881/test “给我一个 404 Not Found - http://localhost:39881/test

我错过了什么。它适用于非 html5 模式。

最佳答案

当我尝试在我的应用程序中启用 html5 模式时,我也遇到了同样的问题。后来仔细看了整个代码,才知道我的API调用的名字和我的路由调用的名字是一样的。浏览器变得困惑,而不是调用路由调用,而是调用 api 调用。

尝试更改其中一个名称。它应该可以正常工作。

关于javascript - Angular HTML5 模式路由给资源找不到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31631858/

相关文章:

c# - 通过 JSON 将数组发送到 MVC Controller ?

javascript - 指令无法访问嵌入的元素?

javascript - 使用隐藏输入检索用户数据是否安全?

javascript - JS : how to get FIrst N elements of associative array

javascript - 粘性 header JS 不工作

javascript - 检查 AngularJS 模块是否被引导

javascript - 在命令按钮操作完成时调用 javascript

c# - 具有现有数据库的新 MVC 5 项目 - 代码优先与 EDMX(实体数据模型)

javascript - 选择模板中的 DOM 元素

javascript - JavaScript 中的正则表达式过滤器 (Angular.js)