客户端应发出两个请求,第一个是OPTIONS,然后是GET请求。所提出的解决方案不是最佳解决方案,因为我们正在用内容回答OPTIONS请求。
def do_OPTIONS(self): self.sendResponse(200) self.processRequest() # not good!
我们应该正确回答OPTIONS请求。如果我们这样做,客户端将在收到正确答案后发出GET请求。
我收到了由CORS引起的501 Unsupported method(’OPTIONS’)(OPTIONS)),并请求“ Content-
Type:application / json; charset = utf-8”。
为了解决该错误,我在do_OPTIONS中启用了CORS,并允许客户端请求特定的内容类型。
我的解决方案:
def do_OPTIONS(self): self.send_response(200, "ok") self.send_header('Access-Control-Allow-Origin', '*') self.send_header('Access-Control-Allow-Methods', 'GET, OPTIONS') self.send_header("Access-Control-Allow-Headers", "X-Requested-With") self.send_header("Access-Control-Allow-Headers", "Content-Type") self.end_headers() def do_GET(self): self.processRequest()


