Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
193 / 140 / 36
Регистрация: 19.11.2020
Сообщений: 881

800КБ И fetch\ajax режут запрос с POST

14.09.2021, 22:03. Показов 1518. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Поставил редактор TinyMCE, в него загружаю картинку в 800кб.

Отправляю на сервер (Пример под спойлером)

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
    $.ajax({
        data: new FormData($('form')[0]),
        crossDomain: true,
        dataType: "json",
        url: 'https://xxxx.biz/api.php',
        mimeType: "multipart/form-data",
        cache: false,
        type: 'POST',
        processData: false,
        contentType: false,
        success: callback,
        error: callbackError
    })
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
async function postData(url, data) {
  // Default options are marked with *
  const response = await fetch(url, {
    method: 'POST', // *GET, POST, PUT, DELETE, etc.
    mode: 'cors', // no-cors, *cors, same-origin
    cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached
    credentials: 'same-origin', // include, *same-origin, omit
    headers: {
      'Content-Type': 'application/json'
      // 'Content-Type': 'application/x-www-form-urlencoded',
    },
    redirect: 'follow', // manual, *follow, error
    referrerPolicy: 'no-referrer', // no-referrer, *client
    body: data // body data type must match "Content-Type" header
  });
  return await response.json(); // parses JSON response into native JavaScript objects
}
 
postData('https://xxxx.biz/api.php', new FormData($('form')[0]));
В итоге тело запроса POST просто пустые.

Я подумал, может new FormData не справляется ?
Логично. Но я его в общем глянул, что там происходит, и он полностью заполнен

Почему тело запроса пропадает? А самое главное, куда ?
Миниатюры
800КБ И fetch\ajax режут запрос с POST   800КБ И fetch\ajax режут запрос с POST   800КБ И fetch\ajax режут запрос с POST  

0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.09.2021, 22:03
Ответы с готовыми решениями:

POST запрос ajax
Прошу вашей помощи. Только учусь может код корявый буду благодарен если подправите или укажете где. После нажатия на кнопку скрыть...

POST - запрос и ajax
Ребят, запутался с Пост запросами начисто. Сначала задача: изучаю XMLHttpRequest, и решил попробывать POST заропсы, а то GET уже надоел....

AJAX запрос (POST)
Всем привет. Пишу форму для отправки вакансии. Уже все проверки написал, осталось только сам Ajax POST. $.ajax({ type:...

14
193 / 140 / 36
Регистрация: 19.11.2020
Сообщений: 881
15.09.2021, 00:18  [ТС]
В действительности проблема, возникает только в браузере firefox

Только что проверил в хроме, и там без проблем всё добавилось

Добавлено через 2 часа 7 минут
Как мне кажется, просто разработчики firefox обложались при реализации фундаментальных принципах реализации.

Да, баг. Что запрос ломается где то в ядре.
0
Эксперт JS
6497 / 3908 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
15.09.2021, 07:04
OpXiv, здравствуйте.
Уточнение:
В jQuery - dataType означает тип ответа от сервера, а не тип запроса.
dataType (default: Intelligent Guess (xml, json, script, or html))
Type: String
The type of data that you're expecting back from the server.

В fetch - 'Content-Type': 'application/json' означает тип запроса к серверу. В данном случае MIME-тип ложный. Лучше оставить по умолчанию "multipart/form-data".

Сервер не всегда исправляет ложную информацию. Иногда начинает психовать.
0
193 / 140 / 36
Регистрация: 19.11.2020
Сообщений: 881
15.09.2021, 13:17  [ТС]
Цитата Сообщение от amr-now Посмотреть сообщение
Лучше оставить по умолчанию "multipart/form-data".
Это я уже тыкал))) Пытаясь понять почему так происходит.


Цитата Сообщение от amr-now Посмотреть сообщение
Сервер не всегда исправляет ложную информацию.

В данном случае, до сервера ничего не доходит. Заголовок запроса пустой, если к примеру 8 картинок по 100кб

Добавлено через 27 секунд
Цитата Сообщение от OpXiv Посмотреть сообщение
8 картинок по 100кб
5 картинок по 100кб уходят успешно
0
331 / 238 / 80
Регистрация: 15.11.2017
Сообщений: 453
Записей в блоге: 4
16.09.2021, 09:10
Зачем jquery? Перемудрено всё, имхо.
Создаёте новую formData, аппендите туда файлы из инпута.
В настройках фетча только body: formData и method: 'POST'.
Фетч сам всё сделает как надо.
0
193 / 140 / 36
Регистрация: 19.11.2020
Сообщений: 881
16.09.2021, 20:09  [ТС]
Цитата Сообщение от DimaDima1985 Посмотреть сообщение
Фетч сам всё сделает как надо.
Не делает ничего он, как надо.

Цитата Сообщение от DimaDima1985 Посмотреть сообщение
Зачем jquery? Перемудрено всё, имхо.
Ничем не отличается по делу. Да, ещё кросс доменные запросы из коробки. В fetch надо ставить ДОП либу.

Цитата Сообщение от DimaDima1985 Посмотреть сообщение
Создаёте новую formData, аппендите туда файлы из инпута.
И? Ничем отличаться не будет.

Проблема не в том что я делаю new FormData($('form')[0]) А в том что, в браузере БАГ
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
17.09.2021, 09:41
Цитата Сообщение от OpXiv Посмотреть сообщение
Не делает ничего он, как надо.
Браузер будет делать не то, что вы хотите, а то, что вы написали. (c)
Цитата Сообщение от OpXiv Посмотреть сообщение
В fetch надо ставить ДОП либу
Fetch входит в спецификацию начиная с 2015 года. Это вам для $.ajax() как раз нужна либа. Тем более что вы применили fetch() в вашем первом сообщении.
Цитата Сообщение от OpXiv Посмотреть сообщение
в браузере БАГ
Сомневаюсь. Какая версия браузера? Покажите все заголовки запроса/ответа.
0
193 / 140 / 36
Регистрация: 19.11.2020
Сообщений: 881
17.09.2021, 13:32  [ТС]
Цитата Сообщение от Balanaar Посмотреть сообщение
Fetch входит в спецификацию начиная с 2015 года. Это вам для $.ajax() как раз нужна либа. Тем более что вы применили fetch() в вашем первом сообщении.
https://www.npmjs.com/package/cross-fetch

https://github.com/lquixada/cross-fetch


Да, совершенно ничего ставить не нужно))))

Цитата Сообщение от Balanaar Посмотреть сообщение
Браузер будет делать не то, что вы хотите, а то, что вы написали. (c)
Проблема именно в том, что mozilla убивает заголовки запроса.

Объясняю, совершенно пофиг какие вы там настройки для того же fetch поставили. Ничего не будет учтено.

Цитата Сообщение от Balanaar Посмотреть сообщение
Сомневаюсь. Какая версия браузера?
Последнее обновление.

Цитата Сообщение от Balanaar Посмотреть сообщение
Покажите все заголовки запроса/ответа.
Всё в главном посте. Нет никакого запроса, если передаётся 800кб
Миниатюры
800КБ И fetch\ajax режут запрос с POST  
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
17.09.2021, 14:02
Цитата Сообщение от OpXiv Посмотреть сообщение
Да, совершенно ничего ставить не нужно))))
Представьте себе, не нужно. Технология описана в спецификации с 2015 года.
Цитата Сообщение от OpXiv Посмотреть сообщение
Всё в главном посте
На скринах я вижу пустое тело запроса. Заголовков вы не показали.
0
193 / 140 / 36
Регистрация: 19.11.2020
Сообщений: 881
17.09.2021, 14:18  [ТС]
Цитата Сообщение от Balanaar Посмотреть сообщение
Представьте себе, не нужно.
А вот и нужно.

Цитата Сообщение от Balanaar Посмотреть сообщение
Заголовков вы не показали.
Миниатюры
800КБ И fetch\ajax режут запрос с POST  
0
193 / 140 / 36
Регистрация: 19.11.2020
Сообщений: 881
17.09.2021, 14:21  [ТС]
Вот при успехе
Миниатюры
800КБ И fetch\ajax режут запрос с POST  
0
193 / 140 / 36
Регистрация: 19.11.2020
Сообщений: 881
17.09.2021, 14:39  [ТС]
В хроме в любом случае работает
0
193 / 140 / 36
Регистрация: 19.11.2020
Сообщений: 881
17.09.2021, 14:49  [ТС]
* Вот
Миниатюры
800КБ И fetch\ajax режут запрос с POST  
0
193 / 140 / 36
Регистрация: 19.11.2020
Сообщений: 881
17.09.2021, 14:55  [ТС]
Как то так в общем
0
 Аватар для atanov
640 / 481 / 172
Регистрация: 26.05.2016
Сообщений: 2,674
17.09.2021, 15:01
OpXiv, в data файл из формы или json?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.09.2021, 15:01
Помогаю со студенческими работами здесь

Ajax POST-запрос
Всем привет. Есть такой код: $.post( "http://models.php", { param: "value" }, onAjaxSuccess ); function...

Ajax post- запрос
Пытаюсь отправить картинку post - запросом (картинка находится на моем сервере) Если картинка была отправлена, то вернется ответ в json...

Ajax post запрос
Приветствую. Дело в том, что через ajax не получается передать Post запрос. Без ajax post запрос передается и принимается как положено....

Ajax запрос методом POST
У меня есть файлик с так сказать базой данных db.json { "tags": } Есть файлик index.html <!DOCTYPE html> ...

$.ajax не отправляет Post запрос
данный код запрашивает у api которое требует только post переменные $.ajax({ type: "post", url:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Видеокарта простаивает ночами? Вот 4 проекта, которые загрузят её наукой
Programma_Boinc 10.04.2026
Видеокарта простаивает ночами? Вот 4 проекта, которые загрузят её наукой Если на Windows стоит дискретная NVIDIA или AMD — можно отдать её вычислительную мощность реальным исследованиям. . . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru