Загрузка...

Фастапи фуллстек

Тема в разделе Python создана пользователем Bellomore 5 фев 2025. 146 просмотров

  1. Bellomore
    Bellomore Автор темы 5 фев 2025 4274 13 мар 2022
    практикуюсь с фастапи, написал простую апишку на локалсервере, фронт тоже на локалке
    отправляю с js фронта запрос через axios, но ответа не получаю

    в чем может быть трабл и вообще должно ли работать если бэк на локалке?

    апи

    Python
    from fastapi import FastAPI

    app = FastAPI()


    @app.get('/test')
    def get_info():
    return {"info": "good"}
    фронт

    JS
    <script>
    import axios from 'axios'

    export default {
    data() {
    return {
    info: "sdf"
    }
    },
    methods: {
    tryLogin() {
    alert(this.info) // алерт выполняется
    axios.get('http://127.0.0.1:8000/test')
    .then(res => (this.info=res))
    console.log(this.info) // эта хуйня не выполняется
    }
    }
    }
    </script>
     
    5 фев 2025 Изменено
  2. ялюблюпиво
    ялюблюпиво 5 фев 2025 Заблокирован(а) 1953 4 авг 2023
    дай сурсы плс, тут экстрасексов нет(
     
    5 фев 2025 Изменено
    1. Bellomore Автор темы
  3. ялюблюпиво
    ялюблюпиво 5 фев 2025 Заблокирован(а) 1953 4 авг 2023
    попробуй так

    Код

    axios.get('http://localhost:8000/test')
    .then(res => {
    this.info = res.data.info;
    console.log(this.info);
    })
    .catch(err => console.error("Ошибка запроса:", err));
    --- Сообщение объединено с предыдущим 5 фев 2025
    ну и проверь через встроенный дебаггер браузера devtools -> network
     
    1. Посмотреть предыдущие комментарии (3)
    2. ялюблюпиво
      Bellomore, запрос хоть отправляется?
  4. противоположник
    fastapi по умолчанию блокирует запросы с другого источника (даже если это локалка с другим портом). попробуй добавить cors-миддлвару
     
    1. Bellomore Автор темы
    2. противоположник
      Bellomore, умирает от браузера либо кодом на фронте. добавляй миддлвару и попробуй вызвать trylogin() вручную из консоли браузера
  5. ялюблюпиво
    ялюблюпиво 5 фев 2025 Заблокирован(а) 1953 4 авг 2023
    Код
    app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
    )
    добавь после app = fastapi
     
    5 фев 2025 Изменено
    1. Bellomore Автор темы
  6. gawrgura
    gawrgura 5 фев 2025 252 20 фев 2022
  7. Bellomore
    Bellomore Автор темы 5 фев 2025 4274 13 мар 2022
    все я пофиксил, проблема была на стороне фронта
     
Top
Загрузка...