Я создал сервер python-flask из онлайн-редактора swagger. Я добавил CORS на сервер:
#!/usr/bin/env python3
import connexion
from swagger_server import encoder
from flask_cors import CORS
def main():
app = connexion.App(__name__, specification_dir='./swagger/')
app.app.json_encoder = encoder.JSONEncoder
app.add_api('swagger.yaml', arguments={'title': 'Example API'})
app.run(port=8080, ssl_context='adhoc')
cors = CORS(app.app, resources={r"/v1/*": {"origins": "*"}})
if __name__ == '__main__':
main()
Однако, когда я пытаюсь POST на этот сервер из вызова javascript в моем веб-приложении asp.net, firefox жалуется
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://localhost:8080/v1/job. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
На флеш-сервере я вижу этот журнал
127.0.0.1 - - [12/Apr/2019 01:50:46] "[37mOPTIONS /v1/job HTTP/1.1[0m" 200 -
Это информация с вкладки сети F12 в Firefox:
Это вызов javascript внутри моего ядра aspnet:
var xhttp = new XMLHttpRequest();
xhttp.open("POST", "https://localhost:8080/v1/job", true);
xhttp.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
var input = JSON.stringify({
"Type": "Kundenvorgang",
"Origin": "Email",
"Status": "Offen",
"Subject": "test",
"Priority": "Niedrig",
"SuppliedEmail": "blah@blah.com"
});
xhttp.send(input);
Что мне нужно изменить на сервере, чтобы POST-вызов работал? (и любой другой http глагол + маршрутный вызов)