私はPythonでできる最も簡単な残りのAPIを取得しようとしていますが、問題があります。私は何が間違っているのか分かりませんが、CORSと何か関係があると思います。この問題を解決するためにflask_corsパッケージを使用していて、動作していないように見えるので、これはイライラしています。私のmain.pyファイルでPython/Flask Rest APIがプリフライトをCORSに渡していません
私は私が私のフォルダ構造としてこれを持っている私のプロジェクトのために
from flask import Flask
from flask_cors import CORS, cross_origin
app = Flask(__name__)
CORS(app)
import routes.login
if __name__ == '__main__':
app.run(debug=True)
次き:
main.py
__init__.py
routes
__init__.py
login.py
を、私はlogin.py
に次のコードを持っていますfrom flask import Flask
from flask_cors import CORS, cross_origin
from main import app
CORS(app)
@app.route('/login', methods=['POST', 'GET'])
@cross_origin()
def login(name, password):
if request.method == 'POST':
print('inside login POST')
if request.method == 'GET':
print('inside login GET')
現在、このエラーが発生しています:
xhr.js:178 OPTIONS http://localhost:5000/login 404 (NOT FOUND)
dispatchXhrRequest @ xhr.js:178
xhrAdapter @ xhr.js:12
dispatchRequest @ dispatchRequest.js:52
:3000/pictureswapper:1 XMLHttpRequest cannot load http://localhost:5000/login.
Response for preflight has invalid HTTP status code 404
何らかのCORSエラーがありますが、実際に何がうまくいかないのか分かりません。何か案は?
EDIT:プリフライトについての説明が書かれている唯一の場所は、ここにあります(https://flask-cors.readthedocs.io/en/v1.3.1/index.html?highlight=preflight)。追加した場合
@cross_origin(headers=['Content-Type']) # Send Access-Control-Allow-Headers
これはアプリケーションを中断しませんが、エラーを修正しません。
私はまた、ここで使用されているメソッドを使用しようとしました:http://flask.pocoo.org/snippets/56/、このstackoverflowの回答で参照されています:https://stackoverflow.com/questions/22181384/javascript -no-access-control-allow-origin-header-は要求時に存在し、どちらも動作していないようです。同じエラー。 –
最初にブラウザのアドレスバーでURLを試したことがありますか? –