Этот вопрос закрыт для ответов, так как повторяет вопрос Отправить post запрос JS c переходом к файлу?

Как отправить post запрос JS c переходом к файлу?

Вопрос аналогичен Отправить post запрос JS c переходом к файлу? только там ответа на него нет. А он нужен.

НЕ AJAX.
Т.е. мне нужно имитировать отправку формы, имея на руках объект js для отправки!

Для умников предлагающих отправлять форму средствами браузера, другой вопрос:
Как сгенирировать форму из js Объекта произвольной степени вложенности?
Например:
{"REQUESTID":"3","OFFERS":{"3":[{"UNITID":"24","EXEQUIP":[],"PRICE":"3","AMOUNT":"44","AMOUNTUNIT":undefined}],"4":[{"UNITID":"13","EXEQUIP":[],"PRICE":"15","AMOUNT":"95","AMOUNTUNIT":"shift"}],"5":[]}}


UPD:
Обосновываю тег Vue:
Js объект формируется достаточно непростым компонентом на vue, таким что невозможно или очень тяжело, превратить его в форму, так как некоторые дочерние его компоненты эмитят значения-объекты. Общее количество слоев эмиссии 5.
  • Вопрос задан
  • 134 просмотра
Решения вопроса 1
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
Если так как вы хотите, то никак.

У JS есть апи для выполнения запросов. Тут вы можете указать метод, какие данные нужно передать и как обработать ответ от сервера. Что, как вы написали вам не подходит.

У JS так же есть апи для выполнения переходов по адресу. Но, любой переход — это всегда GET запрос. Что вам тоже не подходит.

У JS нет такого волшебной функции чтобы выполнить переход куда-то и указать метод обращения и какие данные должны быть переданы в теле обращения.

Поэтому — форма единственный вариант. Другое дело, что вы не можете придумать как в этой форме отправлять свой объект.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
twobomb
@twobomb
<form action="test.php" method="POST">
<input type="submit">
</form>
Ответ написан
v3shin
@v3shin
Веб-шаман
1. Преобразуем объект в FormData: https://stackoverflow.com/questions/22783108/conve...
2.
fetch(url, {
    method: 'POST',
    body: formData,
})
    .then(response => response.json())
    .then(result => { ... });
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы