from flask import Flask, request, jsonify, send_from_directory
import json
import os
import traceback
app = Flask(__name__)
ALLOWED_ORIGIN = os.environ.get('ALLOWED_ORIGIN', 'http://localhost:5500')
# Configure logging
logging.basicConfig(level=logging.DEBUG)
# Path to users.json and history file
history_file_path = os.path.join(os.path.dirname(__file__), 'history.json')
users_file_path = os.path.join(os.path.dirname(__file__), 'users.json')
# Middleware function to handle CORS headers
def add_cors_headers(response):
# Only allow requests from your frontend domain
response.headers['Access-Control-Allow-Origin'] = 'http://localhost:5500'
response.headers['Access-Control-Allow-Methods'] = 'GET, POST, OPTIONS'
response.headers['Access-Control-Allow-Headers'] = 'Content-Type, Authorization'
return response
# Register the after_request handler
@app.after_request
def after_request(response):
return add_cors_headers(response)
# Handle OPTIONS requests
@app.route('/', defaults={'path': ''}, methods=['OPTIONS'])
@app.route('/
', methods=['OPTIONS'])
def handle_options(path):
return '', 204
# Diagnose route
@app.route('/diagnose', methods=['POST'])
def diagnose():
data = request.json
symptoms = data.get('symptoms', '')
email = data.get('email', '')
diagnosis, recommendation = diagnose_and_recommend(symptoms)
# save history
history = read_history()
history['history'].append({
"email": email,
"date": datetime.now().isoformat(),
"symptoms": symptoms,
"diagnosis": diagnosis,
"recommendation": recommendation
})
write_history(history)
return jsonify({
"diagnosis": diagnosis,
"recommendation": recommendation
})
# Static files route
@app.route('/')
def serve_static_files(filename):
return send_from_directory('../', filename)
if __name__ == '__main__':
app.run(debug=True)
Я пытался разрешить заголовки, как вы увидите в методе промежуточного программного обеспечения, но я не знаком с cors. Я хотел бы полностью отказаться от этого, но не знаю, как получить ответ из моего файла Python. Я не знаю, имеет ли это значение, но мой app.py находится во внутренней папке, а js — в корневой папке.
Это моя js-функция: [code]btn = document.getElementById('submit-button') btn.addEventListener("click",submitForm) function submitForm(){ fetch('http://localhost:5000/diagnose', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ symptoms: symptoms, email: loggedInUser.email }), }) .then(response => { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .then(data => { if (resultDiv) { displayResults(data, symptoms); } }) .catch((error) => { console.error('Error:', error); if (resultDiv) { resultDiv.innerHTML = ' An error occurred while processing your request. Please try again. '; } }); } [/code] Это код моего сервера. Я попытался указать метод, который я вызываю, а также импортированные данные и все, что может иметь отношение к делу. [code]from flask import Flask, request, jsonify, send_from_directory import json import os import traceback
# Path to users.json and history file history_file_path = os.path.join(os.path.dirname(__file__), 'history.json') users_file_path = os.path.join(os.path.dirname(__file__), 'users.json')
# Middleware function to handle CORS headers def add_cors_headers(response): # Only allow requests from your frontend domain response.headers['Access-Control-Allow-Origin'] = 'http://localhost:5500' response.headers['Access-Control-Allow-Methods'] = 'GET, POST, OPTIONS' response.headers['Access-Control-Allow-Headers'] = 'Content-Type, Authorization' return response
# Register the after_request handler @app.after_request def after_request(response): return add_cors_headers(response)
if __name__ == '__main__': app.run(debug=True) [/code] Я пытался разрешить заголовки, как вы увидите в методе промежуточного программного обеспечения, но я не знаком с cors. Я хотел бы полностью отказаться от этого, но не знаю, как получить ответ из моего файла Python. Я не знаю, имеет ли это значение, но мой app.py находится во внутренней папке, а js — в корневой папке.
Я создал приложение для Linux, использующее aspnet-core, оно работает нормально.
но проблема: отчет rdlc работает неправильно, и возникает ошибка: Список управления доступом (ACL) ) API являются частью управления ресурсами в Windows и не...
У меня есть такая модель:
public partial class ClassTime
{
public int Id { get; set; }
public int ScheduleId { get; set; }
public System.TimeSpan StartClassTime { get; set; }
public System.TimeSpan FinishClassTime { get; set; }
public string...