python bottle框架 解決跨域問題的正確方式


經查詢,網上有幾種說法

https://www.cnblogs.com/EmptyFS/p/6138923.html

我首先查到的就是這個,我采用了文中所說的修改源碼的方式,
但是經測試發現,修改源碼依然無效

然后我又查詢到下面這個鏈接

https://www.cnblogs.com/EmptyFS/p/6138923.html

文中的解決方法在加一個鈎子函數,在請求前進行一定修改

但是改完還是報錯

正確的處理方式為下面的代碼

在鈎子函數中對請求前后都進行處理進行處理


@hook('before_request')
def validate():
    REQUEST_METHOD = request.environ.get('REQUEST_METHOD')

    HTTP_ACCESS_CONTROL_REQUEST_METHOD = request.environ.get('HTTP_ACCESS_CONTROL_REQUEST_METHOD')
    if REQUEST_METHOD == 'OPTIONS' and HTTP_ACCESS_CONTROL_REQUEST_METHOD:
        request.environ['REQUEST_METHOD'] = HTTP_ACCESS_CONTROL_REQUEST_METHOD


@hook('after_request')
def enable_cors():
    response.headers['Access-Control-Allow-Origin'] = '*'
    # response.headers['Access-Control-Allow-Methods'] = 'GET,POST,PUT,DELETE,OPTIONS'
    response.headers['Access-Control-Allow-Headers'] = '*'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM