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

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

14.09.2021, 22:03. Показов 1464. Ответов 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
6496 / 3907 / 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
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru