使用ASP.Net MVC的AngularJS路由生成奇怪的URL

时间:2017-01-08 05:56:43

标签: angularjs asp.net-mvc

我在ASP.Net MVC Web应用程序中使用AngularJS路由,它运行正常。但是,当我浏览角度路由时,它会在地址栏中生成奇怪的URL。我使用的例程代码如下:

路由代码 -

var app = angular.module("webApp",['ngRoute']);
app.config(function($routeProvider){
    $routeProvider.when(
        "/",{
            templateUrl: "home/dashboard",
            controller: "webCtrl"
        })
        .when(
            "/page1",{
                templateUrl: "home/contact",
                controller: "page1Ctrl"
        });
});

导航 -

<body ng-app="webApp">
    <a href="#/">Home</a>
    <a href="#!page1">Page1</a>
    <div ng-view></div>
</body>

对于主页,它会生成网址http://localhost:58193/#!/,而对于page1,它会生成http://localhost:58193/#!/page1。当我再次点击Home链接时,它会生成http://localhost:58193/#!/#%2F,这与第一个完全不同。请告诉我如何显示正确的网址。

1 个答案:

答案 0 :(得分:0)

启用html5mode。这可以解决您的问题。 https://docs.angularjs.org/guide/ $位置  https://docs.angularjs.org/error/ $位置/ nobase将

 var $jq = jQuery.noConflict();

 $jq(document).ready(function() {
     $jq('#submit').click(function(event) {
         console.log("Document loaded");                        
     $jq.ajax({

          dataType: 'native',
            url: "file:////Users/vinothmac/Downloads/header.jpg",
        xhrFields: {
            responseType: 'blob'
          },
          success: function(blob){
            console.log(blob.size);
              var link=document.createElement('a');
              link.href=window.URL.createObjectURL(blob);
              link.download="Dossier_" + new Date() + ".pdf";
              link.click();
          }
        });
     });
 });