Почему страница автоматически загружается после получения ответа от axios?

#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 регистрирует запрос?