2009-01-15 119 views
5

我正在嘗試使用jQuery的ajax功能從Web窗體(ASP.NET MVC)更新數據。部分數據來自文本區域,雖然數據量不是很大,但很容易超過2 KB。如何通過AJAX調用(jQuery)發佈大數據?

似乎jQuery ajax將所有數據放入查詢字符串,因此導致IIS拒絕URL,從而打破了通話。是否有可能使用jQuery下的ajax模型將數據添加到POST請求中,而不是在查詢字符串中包含所有內容?

回答

8

使用$.post

e.g

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

$。員額只是一個簡單的包裝圍繞阿賈克斯$。

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

是;根據jQuery's documentation,您可以使用jQuery.post來發布數據。

如果要發佈一個現有的形式,使用方法:

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

您可以使用FORMDATA:

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