Javascript 为什么我的url包含“&引用;当使用角度?

Javascript 为什么我的url包含“&引用;当使用角度?,javascript,angularjs,node.js,Javascript,Angularjs,Node.js,我刚从MEAN stack开始,我正在学习一些Tut 我正在使用Angular的npm视图,试图将一个htmla标记重定向到另一个html文件。然而,当我转到localhost:3000时,我得到了这个:localhost:3000/#/重定向到hashbang URL在现代浏览器中打开hashbang URL->重写为常规 网址 HTML5模式 在HTML5模式下,$location服务getter和setter进行交互 通过HTML5历史API使用浏览器URL地址。这 允许使用常规URL路径

我刚从MEAN stack开始,我正在学习一些Tut

我正在使用Angular的
npm视图
,试图将一个html
a
标记重定向到另一个html文件。然而,当我转到
localhost:3000
时,我得到了这个:
localhost:3000/#/localhost:3000/#!/#%2Fsl

我的index.html是这样的(没有一些元素——太多的文本//我删除了所有的js和css文件,但都在我的文件中):


var app=angular.module('firstApp',['ngRoute']);
app.config(函数($routeProvider){
$routeProvider
。当(“/”{
templateUrl:'home.html',
控制器:“HomeController”,
})
.when('/sl'{
templateUrl:'sl.html',
控制器:“SLController”,
});
});
app.controller('HomeController',函数($scope,$http){
console.log(“主页”);
});
app.controller('SLController',函数($scope,$http){
console.log(“注册页”);
});
第一个Node.JS应用程序
我的第一个应用程序
My home.html文件如下:

<div class="container main-forms" id="main-forms">

    <h3 id="letMeIn1"><a href="#/sl" id="letMeIn">Let me in</a></h3>

</div>
    <div class="container main-forms" id="main-forms">

    <div>

  <!-- Nav tabs -->
      <ul class="nav nav-tabs" role="tablist">
        <li role="presentation" class="active tab-btn"><a href="#login" class="tab-link" id="login1" aria-controls="login" role="tab" data-toggle="tab">Login</a></li>
        <li role="presentation" class="tab-btn"><a href="#signup" class="tab-link" id="signup1" aria-controls="signup" role="tab" data-toggle="tab">Sign Up</a></li>
      </ul>

  <!-- Tab panes -->
      <div class="tab-content">
        <div role="tabpanel" class="tab-pane active" id="login">

            <div class=" row main col-md-6 col-md-offset-3">

                <form class="form-group">

                    <h3 class="form-titles center-block">Login</h3>

                    <input type="text" class="form-control form-subtitles" placeholder="Usuario">

                    <input type="password" class="form-control form-subtitles" placeholder="Password">

                    <input type="submit" class="form-control form-subtitles btn btn-info" value="Login">

                </form>

            </div>


        </div>
        <div role="tabpanel" class="tab-pane" id="signup">
            <div class=" row main col-md-6 col-md-offset-3">

                <form class="form-group">

                    <h3 class="form-titles center-block">Sign Up</h3>

                    <input type="text" class="form-control form-subtitles" placeholder="Usuario">

                    <input type="text" class="form-control form-subtitles" placeholder="E-mail">

                    <input type="password" class="form-control form-subtitles" placeholder="Password">

                    <input type="submit" class="form-control form-subtitles btn btn-info" value="Signup">

                </form>

            </div>
        </div>






      </div>

    </div>

</div>

我的sl.html文件如下:

<div class="container main-forms" id="main-forms">

    <h3 id="letMeIn1"><a href="#/sl" id="letMeIn">Let me in</a></h3>

</div>
    <div class="container main-forms" id="main-forms">

    <div>

  <!-- Nav tabs -->
      <ul class="nav nav-tabs" role="tablist">
        <li role="presentation" class="active tab-btn"><a href="#login" class="tab-link" id="login1" aria-controls="login" role="tab" data-toggle="tab">Login</a></li>
        <li role="presentation" class="tab-btn"><a href="#signup" class="tab-link" id="signup1" aria-controls="signup" role="tab" data-toggle="tab">Sign Up</a></li>
      </ul>

  <!-- Tab panes -->
      <div class="tab-content">
        <div role="tabpanel" class="tab-pane active" id="login">

            <div class=" row main col-md-6 col-md-offset-3">

                <form class="form-group">

                    <h3 class="form-titles center-block">Login</h3>

                    <input type="text" class="form-control form-subtitles" placeholder="Usuario">

                    <input type="password" class="form-control form-subtitles" placeholder="Password">

                    <input type="submit" class="form-control form-subtitles btn btn-info" value="Login">

                </form>

            </div>


        </div>
        <div role="tabpanel" class="tab-pane" id="signup">
            <div class=" row main col-md-6 col-md-offset-3">

                <form class="form-group">

                    <h3 class="form-titles center-block">Sign Up</h3>

                    <input type="text" class="form-control form-subtitles" placeholder="Usuario">

                    <input type="text" class="form-control form-subtitles" placeholder="E-mail">

                    <input type="password" class="form-control form-subtitles" placeholder="Password">

                    <input type="submit" class="form-control form-subtitles btn btn-info" value="Signup">

                </form>

            </div>
        </div>






      </div>

    </div>

</div>

登录 注册
如果浏览器是HTML5浏览器,angularJS会将其重定向到#

否则就只有#

请阅读本文档,了解更多有关发生这种情况的原因

在旧式浏览器中打开常规URL->重定向到hashbang

URL在现代浏览器中打开hashbang URL->重写为常规 网址

HTML5模式

在HTML5模式下,
$location
服务getter和setter进行交互 通过HTML5历史API使用浏览器URL地址。这 允许使用常规URL路径和搜索段,而不是 它们的hashbang等价物。如果HTML5历史API不受支持 通过浏览器,$location服务将退回到使用 hashbang自动创建URL。这样你就不用担心了 显示应用程序的浏览器是否支持历史API或 不$location服务透明地使用了可用的最佳服务 选择权

在旧式浏览器中打开常规URL->重定向到hashbang URL在现代浏览器中打开hashbang URL->重写为常规 URL注意,在这种模式下,AngularJS截取所有链接(根据 下面是“Html链接重写”规则),并以某种方式更新url 从不执行整页重新加载的

示例:


可能吧。你正在使用hashbang角度导航-可能是重复的谢谢。我应该怎么做才能修复将我发送到
localhost:3000/#!/#%2Fsl
@DiegoRios尝试使用
$locationProvider.hashPrefix(“”)
;我不认为我在传统浏览器中运行它。最新的Chrome浏览器是传统浏览器吗?