Задать вопрос
@Gorlaks
начинающий front-end разработчик

Почему не работает fetch?

Если написать ajax запрос серверу через jquery, то всё отлично
5ca4971529cbf720146412.png
но если я напишу на fetch, то выдает ошибку
5ca4972b763d7729656485.png
5ca4973158f22043509528.png
Например для формы авторизации всё отлично, но в других запросах например для сохранения введённых пользователем данных уже ничего не работает.
и ещё вопрос, в jquery есть свойство crossdomain, подскажите плеаз как оно работает
  • Вопрос задан
  • 2245 просмотров
Подписаться 1 Средний 2 комментария
Решения вопроса 1
rockon404
@rockon404
Frontend Developer
1. Fetch работает. Ошибка на стороне сервера. Проверяйте сервер и учитесь работать с вкладкой network в панели разработчика.
2. В варианте с Fetch в body, вашем случае, надо передавать URLSearchParams
const body = new URLSearchParams();

body.set('key', 'value');

fetch(url, {
  method: 'POST',
  headers: {
    'Accept': 'application/x-www-form-urlencoded;charset=UTF-8'
  },
  body,
}).then(...);

3. Лучше используйте для запросов что-нибудь вроде axios.
4. SPA, по-хорошему, должно взаимодействовать с сервером по REST API, а данные передаваться в формате JSON. Никаких 'x-www-form-urlencoded' быть не должно.

и ещё вопрос, в jquery есть свойство crossdomain, подскажите плеаз как оно работает

Забудьте JQuery. Почитайте про CORS
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@dimoff66
Кратко о себе: Я есть
Видимо в dataCanvas в первом случае вы передаете массив, нужно строку 'param1=value1&param2=value2' и используя encodeURIComponent() для значений
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы