#axios #fastapi
#axios #fastapi
Вопрос:
Например, я хочу нажать кнопку on и получить некоторый результат от моего FASTAPi, сервер получает запрос, но на стороне моего клиента я не получаю никакого ответа, поэтому после отладки я выяснил, что через 1 секунду после ответа страница перезагружается. клиент:
document.getElementById('buttonid').addEventListener('click', generate);
function generate() {
axios.get('http://127.0.0.1:8000/actions/upload2') .then((response) => {
console.log(response);
}, (error) => {
console.log(error);
});
Сервер:
from typing import List
from fastapi import APIRouter,Header,HTTPException,FastAPI, File, UploadFile
from fastapi.responses import JSONResponse
router = APIRouter()
@router.get('/upload2')
def upload_file2():
print('test')
return {"hello": "world"}
main.py
from fastapi import FastAPI
from routers import actions
from fastapi.middleware.cors import CORSMiddleware
app = FastAPI()
app.include_router(actions.router)
app.include_router(
actions.router,
prefix="/actions",
tags=["actions"],
)
app.add_middleware(
CORSMiddleware,
allow_origins=['*'],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
@app.get('/')
def hello_world():
return {"Hello":"world"}
мой ответ сервера:
test
INFO: 127.0.0.1:61223 - "GET /actions/upload2 HTTP/1.1" 200 OK
и если я использую postman, я получаю json: {«hello»: «world»}
Что не так?
Комментарии:
1. ИНФОРМАЦИЯ: Uvicorn работает на 127.0.0.1: 8000 (нажмите CTRL C для выхода)
2. Я протестировал ваш вызов axios, и он работает. Имейте в виду, что Uvicorn по умолчанию не регистрирует ответ, только конечную точку и статус ответа. Скорее всего, проблемы кроются где-то еще в вашем клиентском коде. Когда вы нажимаете кнопку, вы видите, что uvicorn регистрирует запрос?