2010-12-02 9 views
0

Ich mache eine Übung mit JavaScript, und ich bin nach ein paar Stunden immer noch fest. Ich habe diese HTML-Formular:Benennen und Senden von Formularen mit FormData und XMLHTTPrequest

<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> 

Ich möchte eine JavaScript aufzurufen, die Beiträge dieses Formular (ausgefüllt mit einigen Werten) unter Verwendung von XMLHttpRequest und Formdata. Ich habe so weit gekommen, und mir scheint dies richtig, aber es scheint nicht zu funktionieren:

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); 

Mit diesem Skript wird nicht funktionieren, es nicht die Form veröffentlichen. Wenn Sie jedoch auf der HTML-Seite manuell auf "Senden" drücken, wird das Formular veröffentlicht und alles ist gut. Mein Verdacht ist, dass dies nicht funktioniert, da ich den Namen des Formulars in meiner Anfrage nicht angegeben habe (das HTML-Formular heißt "Transferformular"). Ich kann nicht herausfinden, wie man das FormData-Objekt für die Anfrage nennt.

ich das Skript von out Zusammenhang gebe (es ist ein Teil einer größeren Bewegung einer Web-Anwendung beteiligt mich zur Verfügung gestellt, mit zu spielen), aber ich hoffe, dass Sie mir trotzdem helfen können :)

I‘ Ich habe this als meine Referenz verwendet.

Antwort

0

new FormData() ist anders codiert als ein .

Die Standard ist enctype="application/x-www-form-urlencoded".

Die Verwendung von new FormData() bedeutet, dass Sie enctype="multipart/form-data" verwenden.

Verwandte Themen