Что писать в request.send(), чтобы отправить Post?
Здравствуйте. Есть вот такой аналог ajax:
function sub(event){ event.preventDefault ? event.preventDefault() : event.returnValue = false; var request = new XMLHttpRequest(); request.open('POST', 'file.php, true); request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); request.send(data); } Подскажите, чему должен быть равен data? В jQuery я делала data = new FormData(event.target);, но сейчас так не работает, уходит пустой запрос. Ошибок никаких нет. Если провести тоже самое в IE9, то вернётся ошибка "formData не определено" В html у меня так: <form enctype="multipart/form-data" method="post" id="form" onsubmit="sub(event)"> ... </form> |
Цитата:
Возможно вам проще будет отправлять так... function sub(event){ event.preventDefault(); var request = new XMLHttpRequest(); request.open('POST', 'file.php', true); request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); request.send(new URLSearchParams(new FormData(event.target))); } Цитата:
|
Malleys,
я так поняла, что ошибка в request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); ведь у меня multipart/form-data, а здесь applocation... я попыталась заместо этого написать multipart..., но мне вернулась ошибка: Warning: Missing boundary in multipart/form-data POST data in Unknown on line 0 тогда я вовсе убрала эту строку и всё начало отправляться. Я просто не знаю, насколько эта строка вообще ценна? и если ценна, то что я должна там прописать? |
https://developer.mozilla.org/ru/doc...P/Methods/POST
multipart/form-data необходим при отправлении и файлов. |
Rise,
не, она там была. просто случайно при копировании сюда, я её задела. то есть в этой строчке нет никакого смысла? Нигде ничего не поломается если её не будет? |
Цитата:
|
Часовой пояс GMT +3, время: 01:09. |