Наименование и отправка форм с помощью FormData и XMLHTTPrequest - PullRequest
0 голосов
/ 02 декабря 2010

Я делаю упражнение с JavaScript и через пару часов все еще застрял.У меня есть эта HTML-форма:

<form method=POST name=transferform
  action="/transfer.php">
<input name=user type=text value="">
<input name=credits type=text value="">
<input type=submit name=submission value="Send">
</form>

Я хочу вызвать JavaScript, который публикует эту форму (заполненную некоторыми значениями), используя XMLHTTPrequest и FormData.Я зашел так далеко, и мне кажется, что это правильно, но, похоже, это не работает:

var formdata = new FormData();
formdata.append('user', 'bob');
formdata.append('credits', '1');
var xhr = new XMLHttpRequest();
xhr.open('POST', 'http://someurl.com/transfer.php');  
xhr.send(formdata); 

Использование этого скрипта не будет работать, он не публикует форму.Однако, если вы нажмете «Отправить» вручную на HTML-странице, вы отправите форму, и все будет хорошо.Я подозреваю, что это не работает, потому что я не установил имя формы в своем запросе (HTML-форма называется «Transferform»).Я не могу понять, как назвать объект FormData для запроса.

Я даю вам сценарий вне контекста (это часть более крупного упражнения с использованием веб-приложения, предоставленного мне для игры.с), но я надеюсь, что вы все равно можете помочь мне:)

Я использовал этот в качестве справки.

1 Ответ

0 голосов
/ 25 сентября 2011

new FormData() кодируется иначе, чем form submit.

по умолчанию равно enctype="application/x-www-form-urlencoded".

Использование new FormData() означает, что вы используете enctype="multipart/form-data".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...