【发布时间】:2009-01-15 02:28:58
【问题描述】:
我正在尝试使用 jQuery 的 ajax 功能从 Web 表单 (ASP.NET MVC) 更新数据。部分数据来自文本区域,虽然不是海量数据,但很容易超过 2 KB。
似乎 jQuery ajax 将所有数据放入查询字符串中,从而导致 IIS 拒绝 URL,从而中断调用。是否可以在 jQuery 下使用 ajax 模型向 POST 请求添加数据,而不是在查询字符串中包含所有内容?
【问题讨论】:
我正在尝试使用 jQuery 的 ajax 功能从 Web 表单 (ASP.NET MVC) 更新数据。部分数据来自文本区域,虽然不是海量数据,但很容易超过 2 KB。
似乎 jQuery ajax 将所有数据放入查询字符串中,从而导致 IIS 拒绝 URL,从而中断调用。是否可以在 jQuery 下使用 ajax 模型向 POST 请求添加数据,而不是在查询字符串中包含所有内容?
【问题讨论】:
使用$.post
例如
$.post(someUrl, { textData: $('#someInput').val() } );
$.post 只是 $.ajax 的一个简单包装器。
$.ajax({ type :"post",
data : { textData: $('#someInput').val() },
url : someUrl
});
【讨论】:
是的;根据jQuery's documentation,可以使用jQuery.post POST 数据。
如果您想发布现有表单,请使用:
var form = $("#myform"); // or whatever
$.post(form.get()[0].action, form.serialize(), function(data) {
// data received
}, "xml");
【讨论】:
你可以使用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});
【讨论】: