跨域請求訪問
如果是前後端分離,那就肯定會遇到cros跨域請求難題,可以設定乙個basehandler,然後繼承即可。
class basehandler(tornado.web.requesthandler):def __init__(self, *argc, **argkw):
super(basehandler, self).__init__(*argc, **argkw)
# 解決跨域問題
def set_default_headers(self):
self.set_header("access-control-allow-origin", "*") # 這個地方可以寫網域名稱
self.set_header("access-control-allow-headers", "x-requested-with")
self.set_header("access-control-allow-methods", "post, get, options")
self.set_header("access-control-max-age", 1000)
def get(self):
self.write('request get')
def post(self):
self.write('request post')
# vue一般需要訪問options方法, 如果報錯則很難繼續,所以只要通過就行了,當然需要其他邏輯就自己控制。
def options(self):
# 返回方法1
self.set_status(204)
self.finish()
# 返回方法2
self.write('')
繼承basehandler類
class admintasks(basehandler):# 重寫了basehandler父類的get方法
def get(self):
# 處理業務邏輯
return self.write(json.dumps())
# 重寫了basehandler父類的post方法
def post(self):
# 處理業務邏輯
return self.write(json.dumps())
主檔案main.py檔案中
def __init__(self):
handlers = [
(r"/tasks", admintasks), # 顯示個人所有任務
]if __name__ == "__main__":
tornado.options.parse_command_line()
print("visit at", "" % options.port)
tornado.ioloop.ioloop.instance().start()
這時候前端頁面就可以通過:訪問後端程式了。上面的**就部署在49.236.68.166這台伺服器上面。
參考:附加內容:【https異常】this request has been blocked; the content must be served over https
kong外掛程式在請求時新增允許跨域請求頭
需求 需要在kong上設定對websocket允許跨域,類似nginx上實現的效果 add header access control allow origin add header access control allow headers x requested with add header a...
Tornado之請求與響應頭
self.write 我在下面 name self.get argument name none self.write 這個是我 name class headerhandler tornado.web.requesthandler defget self self.write set header...
Spring Boot允許跨域請求
1 專案下新建乙個config包 專門用於放置配置檔案 但是這只是最佳目錄 實際上spring boot對與檔案結構是沒有要求的 只用註解來判斷每個類的作用 2 新建乙個檔案類corsconfig,編寫以下 package com.xhwl.erp.config import org.springf...