Python 向将由服务器发送的页面添加外部javascript

Python 向将由服务器发送的页面添加外部javascript,python,server,Python,Server,我正在构建一个小服务器,它发送一个带有javascript脚本的页面,当我尝试在浏览器中打开它时,它会工作,但如果我从服务器请求页面,则会收到该页面,但不会收到脚本,因此我会收到以下错误: 以下文件之间缺少Script.js: 看起来很奇怪,因为在网络会话中,我可以看到一个状态为200的脚本请求: 我尝试添加的js文件是Chart.js,因此我无法在内部添加它,使用它将变得不可能,但现在服务器只是python中使用SimpleHTTPRequestHandler的几行代码,我可能会替换它,

我正在构建一个小服务器,它发送一个带有javascript脚本的页面,当我尝试在浏览器中打开它时,它会工作,但如果我从服务器请求页面,则会收到该页面,但不会收到脚本,因此我会收到以下错误:

以下文件之间缺少Script.js:

看起来很奇怪,因为在网络会话中,我可以看到一个状态为200的脚本请求:

我尝试添加的js文件是Chart.js,因此我无法在内部添加它,使用它将变得不可能,但现在服务器只是python中使用SimpleHTTPRequestHandler的几行代码,我可能会替换它,可能是因为SimpleHTTPRequestHandler无法处理多个文件请求

下面是代码,试图制作一个代码片段,但它在那里也不起作用(可能只是我以前从未编写过代码片段):

HTML:

以下是python服务器脚本:

from http.server import HTTPServer, BaseHTTPRequestHandler


class SimpleHTTPRequestHandler(BaseHTTPRequestHandler):

    def do_GET(self):
        self.send_response(200)
        self.end_headers()
        with open("index.html", "r") as page:
            self.wfile.write(page.read())


httpd = HTTPServer(("192.168.1.100", 8000), SimpleHTTPRequestHandler)
httpd.serve_forever()

我想您会得到一个带有id、标记名或类名的元素,然后添加文件

var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.onload = function() {
    callFunctionFromScript();
}
script.src = 'path/to/your-script.js';
head.appendChild(script);

另外

我想您会得到一个带有id、标记名或类名的元素,然后添加文件

var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.onload = function() {
    callFunctionFromScript();
}
script.src = 'path/to/your-script.js';
head.appendChild(script);

另外

是否可能意外地将
放在script.js文件中?如果是这样,请删除它们。顺便说一句,您可以将
添加到
以消除字符编码错误。如果你正在寻找一个好的Python web框架,试试看。@ChrisG,不,我不知道,这只是一个例子,问题是chart.js,肯定没有,无论如何,谢谢你的建议,我怀疑这是因为
预期表达式,你的Python服务器只返回HTML文件。这就是为什么HTML会加载,而JavaScript不会加载的原因。当请求JavaScript文件时,服务器返回HTML文件,导致出现
SyntaxError:expected表达式,get'是否可能意外地将
放在script.js文件中?如果是这样,请删除它们。顺便说一句,您可以将
添加到
以消除字符编码错误。如果你正在寻找一个好的Python web框架,试试看。@ChrisG,不,我不知道,这只是一个例子,问题是chart.js,肯定没有,无论如何,谢谢你的建议,我怀疑这是因为
预期表达式,你的Python服务器只返回HTML文件。这就是为什么HTML会加载,而JavaScript不会加载的原因。当请求JavaScript文件时,服务器返回HTML文件,导致出现
SyntaxError:expected表达式,got'感谢您的回答,但问题仍然存在,而且我不是该平台的专家,但我认为您应该根据请求调整代码,不只是复制它您可以使用
标记加载外部JavaScript。这段代码是正确的,但没有必要解决问题。@Zera你是说像sayHello()这样的东西吗?如果我尝试过,但它不起作用,但正如另一位用户所提到的,这可能是一个服务器问题,我想知道答案,但问题仍然存在,另外,我不是这个平台的专家,但我认为您应该根据请求调整代码,而不仅仅是复制它。您可以使用
标记加载外部JavaScript。这段代码是正确的,但没有必要解决问题。@Zera你是说像sayHello()这样的东西吗?如果我尝试过,但它不起作用,但正如另一个用户所提到的,这可能是服务器问题
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.onload = function() {
    callFunctionFromScript();
}
script.src = 'path/to/your-script.js';
head.appendChild(script);