加载资源失败:服务器响应状态为 404 (Not Found) angular js + ionic
Posted
技术标签:
【中文标题】加载资源失败:服务器响应状态为 404 (Not Found) angular js + ionic【英文标题】:Failed to load resource: the server responded with a status of 404 (Not Found) angular js + ionic 【发布时间】:2014-09-25 23:27:12 【问题描述】:这是我在 Google Devt Tools 中遇到的错误。有谁知道这个问题?我尝试多次更改,包括 app.js 文件中的文件结构和 stateProvider(没有控制器),但这似乎不是问题。 (脚本包含在 app.js 中,文件名和目录正确)
此外,我的注销和 submitPost 按钮也无法正常工作。
newpost.html
<div class="modal slide-in-up" ng-controller="NavCtrl">
<!-- Modal header bar -->
<header class="bar bar-header bar-secondary">
<button class="button button-clear button-primary" ng-click="close()">Cancel</button>
<h1 class="title">New Shout</h1>
<button class="button button-positive" ng-click="submitPost()">Done</button>
</header>
<!-- Modal content area -->
<ion-content class="padding has-header">
<form class ng-submit="submitPost()" ng-show="signedIn()">
<div class="form-group">
<input type="text" class="form-control" placeholder="Title" ng-model="post.title">
</div>
<div class="form-group">
<input type="text" class="form-control" placeholder="Link" ng-model="post.url">
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
</ion-content>
</div>
controller.js 文件
app.controller('NavCtrl', function ($scope, $firebase, $location, Post, Auth, $ionicModal)
$scope.post = url: 'http://', title: '';
// Create and load the Modal
$ionicModal.fromTemplateUrl('newpost.html', function(modal)
$scope.taskModal = modal;
,
scope: $scope,
animation: 'slide-in-up'
);
// Open our new task modal
$scope.submitPost = function ()
Post.create($scope.post).then(function (postId)
$scope.post = url: 'http://', title: '';
$location.path('/posts/' + postId);
$scope.taskModal.show();
);
;
$scope.close = function()
$scope.taskModal.hide();
;
$scope.logout = function ()
Auth.logout();
;
);
项目列表页面,post.html
<ion-header-bar class="bar-positive" ng-controller="NavCtrl">
<button class="button button-clear" ng-click="submitPost()">New</button>
<h1 class="title"><b><a class="navbar-brand" href="#/posts">MyApp</a></b></h1>
<button class="button button-clear" ng-click="logout()">Logout</button>
</ion-header-bar>
【问题讨论】:
【参考方案1】:404 字面意思是找不到文件。 就这么简单。检查 URL 是否正确,并且没有进行重定向(使用提琴手)。也许协议应该是 https:// 而不是 http://?也许您需要在网址中添加“www”?
点击Chrome中给出的url,查看文件是否存在。
【讨论】:
谢谢@Erti-Chris Eelmaa 当我点击错误时,它说Cannot GET /newpost.html。我发现了一个错误 $ionicModal.fromTemplateUrl('newpost.html', function(modal) 应该是 $ionicModal.fromTemplateUrl('templates/newpost.html', function(modal) 但是现在当我运行 grunt serve 时,它永久加载...我无法按 F12 进行故障排除.. 那是因为你处于无限递归中。你的 newpost.html 总是在创建新的 NavCtrl,而 NavCtrl 总是在创建 newpost.html,它会一直持续下去。 @Erti-Chria Eelmaa 有什么建议可以更正代码吗?我认为将 nav.ctrl 放在 html 中只是意味着它使用该控制器。递归是如何发生的? 去掉 ng-controller="NavCtrl" 并将其放在“body”标签或更靠近您不会每次都重新加载控制器的位置。【参考方案2】:不确定是否有人感兴趣,但是在尝试上传到 Firebase 存储时遇到了类似的问题,这是我解决它的方法。 The Error screenshot where upload fails with 503 and then 400 after 75% progress
我用于上传的代码段是
//Event: data.Event,
// Date: data.Date,
// Time: data.Time
var data = getData();
data.filename=uploadfile.name;
var metadata =
customMetadata:
data
var storageRef = firebase.storage().ref().child("features");
console.log("Filenames to upload :" + uploadfile.name);
var fileRef = storageRef.child(uploadfile.name);
var uploadTask = fileRef.put(uploadfile,metadata);
问题在于自定义元数据,一旦我将其更改为这样,
var metadata =
customMetadata:
Event: data.Event,
Date: data.Date,
Time: data.Time
上传开始工作。因此,如果在设置自定义元数据时出现错误,firebase 错误并可能不会作为原因提供。
在这里工作的屏幕截图 successful upload once the custom meta data is corrected
【讨论】:
【参考方案3】:将 <base href="/">
从 index.html 更改为 <base href="./">
【讨论】:
以上是关于加载资源失败:服务器响应状态为 404 (Not Found) angular js + ionic的主要内容,如果未能解决你的问题,请参考以下文章