Ошибка: as been blocked by CORS policy

В одной из задач возникла проблема: скрипт javascript «крутящийся» на localhost должен утянуть файл json с удаленного ресурса https. Вот тут и возникает ошибка:

Возникает она из-за политик CORS удаленного сайта.

Решение: добавить в скрипт который «выдает» данные, заголовок, что конкретно эти данные можно отдавать ну например ..всем.

Flutter: переопределение кнопки «назад» в AppBar

Возникла ситуация: на одной из страниц (например авторизация) произошли изменения, касающиеся «стартового» экрана с изменением пунктов меню в drawer, ну и его шапке соотвественно. Но возник нюанс — при нажатии кнопки «назад» в AppBar, перерисовка меню не происходит.

Что будем делать? Одним из вариантов решения проблемы является перехват нажатия кнопки при помощи виджета WildPopScope и принудительная перерисовка при помощи вызова роутинга:

Flutter: работа с json

В предыдущей статье мы получили по URL json данные. Теперь задача их обработать.

Для работы с json, необходимо импортировать библиотеку:

Далее загрузим данные в тип Map:

А что если это массив?

В этом случае загрузим JSON в объет List:

Обратная конвертация:

Flutter: получение данных по http/https

Для обмена данными между клиентом (приложением) и сервером можно использовать пакеты http и http_parser. Для этого в зависимости добавляем пакеты:

Для подключения в самом проекте нужно указать:

Ключевое слово as — указывает на то что подключаемые методы из пакета будут доступны через объект-имя http, к примеру:

В файл манифеста для Android, обязательно нужно добавить доступ в интернет:

  • http.get(…)
  • http.post(…)
  • http.put(…)

Сетевые запросы к серверу медленные, потому результат запроса будет обрабатываться асинхронно после .then

Flutter: виды кнопок

Ну и раз уже мы попросили пользователя что-то ввести, нужно создать кнопку, по нажатии на которую что-то будет происходить.

В Flutter довольно таки большой выбор «стандартных» кнопок, код вызова которых в принципе идентичен

FlatButton
RaisedButton
ElevatedButton
TextButton
OutlinedButton
FloatingActionButton

1 55 56 57 58 59 288