当我在本地运行它时,此代码工作正常,但当我将它放入此Plunker(http://plnkr.co/edit/RCMbxv7Peb83tRKWTMJM)时,我得到以下循环404错误:
Failed to load resource: the server responded with a status of 404 (Not Found) http://run.plnkr.co/main.html
GET http://run.plnkr.co/main.html 404 (Not Found) angular.js:8521
我错过了什么?
答案 0 :(得分:4)
接受的答案只是部分正确。
通常,如果您的代码托管在子目录(即:不是根目录),则url路由将完全适用于Plunker。如果您使用$locationProvider.html5Mode(true)
,这很重要,因为如果您想使用绝对网址(例如:/partials/template.html
),可能会导致意外行为。
如果您使用其中一个内置的Angular.js模板,您会注意到我添加了一些黑客,以解决预览未托管在子域上的事实:
<script>document.write('<base href="' + document.location + '" />');</script>
这利用了Angular.js'$locationProvider
如何通过在Angular.js bootstraps之前注入动态基本标记来处理<base href="">
标记。请参阅:https://docs.angularjs.org/guide/ $ location
答案 1 :(得分:1)
如果您关闭HTML5模式,它将正常工作。
您的app.js文件:
// html5Mode is default to false so you could comment out or manually set it
//$locationProvider.html5Mode(true);
html5Mode
需要服务器端配置,所以我认为这是冲突。
答案 2 :(得分:0)
Experienced the same issue. I changed the version of my added angular script to data-semver="1.3.0-beta.5" and it is sorted.