【发布时间】:2017-04-05 17:17:54
【问题描述】:
所以我尝试在我的应用程序中实现overhang.js,因为我喜欢它的警报消息。
起初似乎是一个相当简单的任务......我所要做的(我认为)就是更换控制器中的线路,
alert("An HTTP request has been sent to the server.\nNow updating DaycareDB.db!");
与
$("body").overhang({
type: "success",
message: "An HTTP request has been sent to the server.\nNow updating DaycareDB.db!"
});
就是这样。不幸的是,当我尝试执行该函数并到达$("body".overhang({ 行时,什么也没有发生,chrome 控制台吐出“TypeError:jQuery(...).overhang 不是一个函数”,然后是一堆其他的东西。
我该如何解决这个问题?
这是完整的功能:
$scope.RefreshDatabase = function() {
$http.get('/RefreshDatabase')
.then(function(response) {
// alert("An HTTP request has been sent to the server.\nNow updating DaycareDB.db!");
$("body").overhang({
type: "success",
message: "An HTTP request has been sent to the server.\nNow updating DaycareDB.db!"
});
// location.reload();
});
我觉得我在做一些愚蠢的事情或遗漏了一些导致我的控制器无法正确使用 jquery 的事情。
编辑:
这就是我所有的 angular 和 jquery 和东西被包含在内的头部:
<head>
<title>Waiting List</title>
<script type="text/javascript"></script>
<!--Overhang.js-->
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js"></script>
<link rel="stylesheet" type="text/css" href="./node_modules/overhang/dist/overhang.min.css" />
<script type="text/javascript" src="./node_modules/overhang/dist/overhang.min.js"></script>
<!--AngularJS-->
<script src="./angular/angular-1.5.8/angular-1.5.8/angular.min.js"></script>
<script src="./app.js"></script>
<script src="./Source/Client/Controllers/WaitingListController.js"></script>
<!--Font Awesome-->
<link rel="stylesheet" type="text/css" href="./Other Files/(CSS Stuff) font-awesome-4.7.0/font-awesome-4.7.0/css/font-awesome.min.css">
<!--Foundation CSS-->
<link rel="stylesheet" href="./Other Files/foundation-6.3.0-complete/css/foundation.css">
<link rel="stylesheet" href="./Other Files/foundation-6.3.0-complete/css/app.css">
</head>
这也是来自 chrome 控制台的完整错误消息:
TypeError: $(...).overhang is not a function
at WaitingListController.js:13
at angular.js:16383
at m.$eval (angular.js:17682)
at m.$digest (angular.js:17495)
at m.$apply (angular.js:17790)
at l (angular.js:11831)
at J (angular.js:12033)
at XMLHttpRequest.t.onload (angular.js:11966)
【问题讨论】:
-
@Xufox 我更新了帖子
-
你为什么要包含两次悬垂的css和js?删除第一个链接标签和第一个脚本标签 - 它们是不必要的。
-
@trevor 我不知道为什么会这样。复制和粘贴时发生的事情一定很奇怪。
-
@trevor 我只是将整个头部放入文件中。我可能会多次包含 jquery 只是因为我使用了不同的包......尽管这仍然不能告诉我为什么突出函数会导致类型错误。
-
@Ryan:检查我的答案。你需要向上移动jquery。我的意思是在 Angularjs 之前。
标签: javascript jquery angularjs controller