Javascript 本地计算机中的nodejs服务器/承载jquery不工作
我使用nodejs创建了简单的服务器,并让它调用调用iquery的html文件。但它不适用于显示以下两个错误的浏览器Javascript 本地计算机中的nodejs服务器/承载jquery不工作,javascript,jquery,node.js,Javascript,Jquery,Node.js,我使用nodejs创建了简单的服务器,并让它调用调用iquery的html文件。但它不适用于显示以下两个错误的浏览器 1.“未捕获的语法错误:意外标记您编写的代码发生了一件有趣的事情。您正在为每个请求提供一个文件(index_test1.html),对吗?因为您在处理程序中对其进行了硬编码 因此,当您打开localhost:1337时,您可以看到index_test1.html文件 现在,在html中导入一个jQuery文件。但是你猜怎么着,你只有一个处理程序,而localhost:1337/j
1.“未捕获的语法错误:意外标记您编写的代码发生了一件有趣的事情。您正在为每个请求提供一个文件(
index_test1.html
),对吗?因为您在处理程序中对其进行了硬编码
因此,当您打开localhost:1337
时,您可以看到index_test1.html
文件
现在,在html中导入一个jQuery文件。但是你猜怎么着,你只有一个处理程序,而localhost:1337/jQuery-3.3.1.min.js
将通过相同的处理程序,是的!你得到了!提供相同的index_test1.html
文件
当您在浏览器中打开服务器时,请打开开发人员工具
并转到网络
选项卡。然后再次刷新以查看网络请求。您将看到我所说的内容
你想做的是(根据@james的评论)?有很多很好的教程可以做。但是我觉得你的问题很有趣,所以我在这里解释了。希望这能帮你澄清一些事情。你可能没有下载jquery。试着把它放在你的脚本中:
ps.使用expressA node.js http server会更轻松默认情况下不提供任何文件。因此,来自服务器的HTML引用的任何文件都必须在服务器上有相应的路由。因为您没有jQuery文件的路由,并且当浏览器询问您的请求时,您的代码会为每个请求发送
index_test1.HTML
服务器下载jquery-3.3.1.min.js
,您的服务器发送它index_test1.html
。显然,这不起作用。我真的建议您使用Express(轻量级框架,使其更简单),然后您可以使用Express.static()
为静态文件创建一个路由。
var app = require('http').createServer(handler);
var fs = require('fs');
app.listen(1337);
function handler(req, res){
fs.readFile('index_test1.html', function(err, data){
if(err){
res.writeHead(500);
return res.end("Error");
}
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(data);
res.end();
});
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Demo1</title>
<script src="jquery-3.3.1.min.js"></script>
<style type="text/css"></STYLE>
</HEAD>
<BODY>
<p id="test"></p>
<script>
$(function(){
$('#test').text('Hello World!');
});
</script>
</BODY>
</HTML>