3

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

我错过了什么?

4

3 回答 3

4

接受的答案只是部分正确。

一般来说,url 路由在 Plunker 上的工作方式与您的代码托管在子目录(即:不是根目录)中的工作方式完全相同。如果您正在使用这很重要,$locationProvider.html5Mode(true)因为如果您想使用绝对 url(例如:),它可能会导致意外行为/partials/template.html

如果您使用其中一个内置的 Angular.js 模板,您会注意到我添加了一些技巧来解决预览不托管在子域上的事实:

<script>document.write('<base href="' + document.location + '" />');</script>

这利用了 Angular.js 如何通过在 Angular.js 引导之前注入动态基础标签来$locationProvider处理标签。<base href="">请参阅相关链接部分:https : //docs.angularjs.org/guide/$location

于 2014-08-20T13:35:19.657 回答
1

如果您关闭 HTML5 模式,它将正常工作。

您的 app.js 文件:

// html5Mode is default to false so you could comment out or manually set it
//$locationProvider.html5Mode(true);

html5Mode需要服务器端配置,所以我相信这是冲突。

于 2014-08-13T00:51:31.050 回答
0

经历过同样的问题。我将添加的角度脚本的版本更改为 data-semver="1.3.0-beta.5" 并对其进行了排序。

于 2015-08-07T02:13:07.173 回答