为什么Plunker会给AngularJS带来404错误?

时间:2014-08-13 00:12:06

标签: javascript angularjs angularjs-directive angular-ui-router plunker

当我在本地运行它时,此代码工作正常,但当我将它放入此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

我错过了什么?

3 个答案:

答案 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.