我整天都在环顾四周,无法弄清楚为什么我的$(document).ready
包装器中的代码都不起作用。
layout.jade
!!!5
html
head
title #{title}
link(rel='stylesheet', href='/stylesheets/style.css')
script(src='http://code.jquery.com/jquery-1.js')
script.
$(document).ready(function(){
alert("working");
$("#message").html("message set through jquery");
});
body
header
h1 Sample message here
.container
.main-content
block content
.sidebar
block sidebar
footer
block foot
landing.jade
extends layout
block content
p#message Landing page
#info Info area
block foot
a(href="https://localhost:8888/logout", title="logout") Logout
控制器:
exports.landing = function(req, res) {
res.render('landing', {title: 'My Title'});
}
渲染html:
<!DOCTYPE html><html><head><title>Dashboard</title><link rel="stylesheet" href="/stylesheets/style.css"><script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script><script>$(document).ready(function(){
$("#message").html("message set through jquery");
});
alert("working");</script></head><body><header><h1>Sample Web App</h1></header><div class="container"><div class="main-content"><p id="message">Landing page</p><div id="info">Info area</div></div><div class="sidebar"></div></div><footer><a href="https://localhost:8888/logout" title="logout">Logout</a></footer></body></html>
控制台错误: 我刚刚检查了页面上的控制台,而不是我运行Express Web服务器的位置,发现错误:
Uncaught reference error: $ is not defined
https服务器问题:
主要问题有两个:1)我正在使用@Joe认可的错误网址。 2)由于我的Web服务器是在Express中以https而不是http创建的,因此它拒绝使用@ Joe的答案中列出的非安全http地址的URL。相反,我需要将其修改为https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js,以便我的https网络服务器可以按照@FrédéricHamidi的建议使用它。
答案 0 :(得分:7)
您的开发环境似乎非常奇特:)
jQuery脚本无法加载,因为它是通过HTTP提供的,主文档是通过HTTPS提供的,并且您的浏览器都已配置为静默删除通过HTTPS提供的文档所产生的HTTP请求。
幸运的是,Google CDN支持HTTP和HTTPS,因此您只需在脚本源URL中切换协议:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
答案 1 :(得分:2)
见Joe的评论:
&#34; code.jquery.com/jquery-1.js" ;;投掷404 - 你可能意味着 使用这个: &#34; // ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" ? - 乔 38分钟前
这可能是你的答案。 +1给乔。
答案 2 :(得分:1)
按照他们的说法改变链接。我改变了https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js