2009-01-15 13 views
5

Ich versuche, die Ajax-Funktionalität von jQuery zu verwenden, um Daten von einem Webformular (ASP.NET MVC) zu aktualisieren. Ein Teil der Daten stammt aus einem Textbereich, und obwohl es keine große Datenmenge ist, kann es leicht mehr als 2 KB betragen.Wie poste ich große Daten über einen AJAX-Aufruf (jQuery)?

Es scheint, dass jQuery ajax alle Daten in die Abfragezeichenfolge einfügt, was dazu führt, dass IIS die URL zurückweist, wodurch der Aufruf abgebrochen wird. Ist es möglich, Daten zu einer POST-Anfrage mit dem Ajax-Modell unter jQuery hinzuzufügen, anstatt alles in der Abfrage-Zeichenkette zu haben?

Antwort

8

Verwendung $.post

beispiels

$.post(someUrl, { textData: $('#someInput').val() }); 

$ .post um .ajax $ nur eine einfache Hülle ist.

$.ajax({ type :"post", 
     data : { textData: $('#someInput').val() }, 
     url : someUrl 
     }); 
6

Ja; Gemäß jQuery's documentation können Sie jQuery.post für POST-Daten verwenden.

Wenn Sie ein vorhandenes Formular schreiben, verwenden Sie:

var form = $("#myform"); // or whatever 
$.post(form.get()[0].action, form.serialize(), function(data) { 
    // data received 
}, "xml"); 
0

können Sie Formdata verwenden:

var formData = new FormData(); 
formData.append('filename', filename); 
formData.append('data', data); 
$.ajax({ 
    url: "FileUploadServlet", 
    type: "POST", 
    data: formData, 
    cache: false, 
    contentType: false, 
    processData: false}); 
Verwandte Themen