gpt4 book ai didi

javascript - BaseHTTPRequestHandler doPOST方法不更新html?

转载 作者:行者123 更新时间:2023-12-03 05:09:11 24 4
gpt4 key购买 nike

我正在尝试使用 python 3.6 获得一个简单的本地服务器。

我启动一个 HTTPServer 并传递一个 BaseHTTPRequestHandler。 do_GET() 方法工作正常。它提供一个执行 POST 请求的 javascript 文件。

do_POST() 方法在打印“In post”时执行。但是,我在浏览器中没有看到写入 self.wfile.write() 的输出。

我错过了什么吗?

from http.server import HTTPServer, BaseHTTPRequestHandler
import json

HOST, PORT = '', 8888
print("Serving HTTP on port %s." % PORT)


class Handler(BaseHTTPRequestHandler):
def do_POST(self):
"""
Respond to POST request.
"""

print("In post")

self.send_response(200) # OK
self.send_header('Content-type', 'text')
self.end_headers()

cont = b"post"
self.wfile.write(cont)

def do_GET(self):
"""Respond to a GET request."""
self.send_response(200)

if self.path == "/":
self.send_header("Content-type", "text/html")
self.end_headers()
path = "index.html"
else:
self.send_header("Content-type", "application/javascript")
self.end_headers()
path = self.path[1:]
f = open(path, "rb")
cont = f.read()
self.wfile.write(cont)
f.close()

http = HTTPServer((HOST, PORT), Handler)
http.serve_forever()

最佳答案

如果 POST 请求由 Javascript 文件执行,那么您可能正在执行 Ajax 请求。同一个 JS 脚本实际上需要对响应执行一些操作; Ajax 的重点在于它不会自动刷新页面。

关于javascript - BaseHTTPRequestHandler doPOST方法不更新html?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41890504/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com