javascript – 可能未处理的拒绝 – 使用angularjs创建表单时出错
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 可能未处理的拒绝 – 使用angularjs创建表单时出错,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3978字,纯文字阅读大概需要6分钟。
内容图文
我创建了这个简单的Web应用程序,将数据放入firebase数据库.问题是我在浏览器中打开网页时出错.这是我得到的错误
Possibly unhandled rejection: {} angular.js:14324
此外,当我第一次按下sumbit按钮而字段中没有数据时,它会显示与上面显示的相同的错误.然后当我再次按下按钮时,它会将空字段提交给数据库.我认为angular发现字段是空的问题.我错过了什么吗?将文本放在字段中工作正常,它也提交到数据库.它只是空字段,他们是问题.
var app = angular.module("sampleApp", ["firebase"]);
app.controller("SampleCtrl", function($scope, $firebaseArray) {
var ref = firebase.database().ref().child("messages");
$scope.loading = true;
$firebaseArray(ref).$loaded().then(function(){
$scope.loading = false;
document.getElementById('loader').style.display = 'none';
});
$scope.messages = $firebaseArray(ref);
$scope.addMessage = function() {
$scope.messages.$add({
name: $scope.name,
company: $scope.company,
reason: $scope.reason,
wayofcontact: $scope.wayofcontact,
});
$scope.name = '';
$scope.company = '';
$scope.reason = '';
$scope.wayofcontact = '';
document.getElementById("name").focus();
};
});
<!DOCTYPE html>
<html ng-app="sampleApp">
<head>
<meta charset="utf-8">
<title>AngularJS Tutorial</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.0/angular.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.5/css/bootstrap.min.css" integrity="sha384-AysaV+vQoT3kOAXZkl02PThvDr8HYKPZhNT5h/CXfBThSRXQ6jW5DO2ekP5ViFdi" crossorigin="anonymous">
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<style>
[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
display: none !important;
}
ul {
list-style-type: none;
}
</style>
</head>
<body ng-controller="SampleCtrl" ng-cloak >
<div class="container" ng-view>
<div ng-show="loading">
Loading...
</div>
<ul class="list-unstyled">
<li ng-repeat="message in messages | filter:{name: '!!'}">
<h1>{{message.name}}</h1>
<p>
Bedrijf: {{message.company}}<br>
Reden: {{message.reason}}<br>
Email/telefoon: {{message.wayofcontact}}<br>
</p>
<button ng-click="messages.$remove(message)" class="btn btn-danger">Verwijder verzoek</button>
<br><br>
</li>
</ul>
<form ng-submit="addMessage()" novalidate>
<div class="row">
<div class="col-xs-6 form-group">
<input type="text" class="form-control" id="name" ng-model="name" placeholder="Naam" autofocus required/>
</div>
<div class="col-xs-6">
<input type="text" class="form-control" ng-model="namecolleague" placeholder="Naam collega" required/>
</div>
<div class="col-xs-12 form-group">
<input type="text" class="form-control" ng-model="company" placeholder="Bedrijf" required/>
</div>
<div class="col-xs-12 form-group">
<textarea rows="3" type="text" class="form-control" ng-model="reason" placeholder="Reden van bellen" required></textarea>
</div>
<div class="col-xs-12 form-group">
<input type="text" class="form-control" ng-model="wayofcontact" placeholder="Email of nummer" required/>
</div>
<div class="col-xs-12 form-group">
<button type="submit" class="btn btn-primary">Add Message</button>
</div>
</div>
</form>
</div>
<script type="text/javascript" src="https://www.gstatic.com/firebasejs/3.6.0/firebase.js"></script>
<script type="text/javascript" src="https://cdn.firebase.com/libs/angularfire/2.1.0/angularfire.min.js"></script>
<script type="text/javascript" src="scripts/app.js"></script>
<script>
// Initialize Firebase
var config = {
apiKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
authDomain: "xxxxxxxxxxxxxxxxxxxx",
databaseURL: "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
storageBucket: "xxxxxxxxxxxxxxxx",
messagingSenderId: "xxxxxxxxxxx"
};
firebase.initializeApp(config);
</script>
</body>
</html>
解决方法:
此错误似乎是作为$qProvider的一部分添加的,用于配置$q
https://docs.angularjs.org/api/ng/provider/$qProvider
对错误进行了搜索,因为它看起来并不熟悉,但看起来你可以在配置块中使用此提供程序禁用该功能
app.config(['$qProvider', function ($qProvider) {
$qProvider.errorOnUnhandledRejections(false);
}]);
我想要添加的唯一其他东西是返回一个承诺,这里必须失败,但没有注册错误处理程序.
内容总结
以上是互联网集市为您收集整理的javascript – 可能未处理的拒绝 – 使用angularjs创建表单时出错全部内容,希望文章能够帮你解决javascript – 可能未处理的拒绝 – 使用angularjs创建表单时出错所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。