Загрузка...

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

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

  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. Посмотреть предыдущие комментарии (1)
    2. ялюблюпиво
      Bellomore, ну ты хоть скажи что пишет, ошибка может есть?
    3. Bellomore Автор темы
    4. ялюблюпиво
      Bellomore, запрос хоть отправляется?
    5. Посмотреть следующие комментарии (1)
  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
Загрузка...