1
我试图做一些像这里找到的插件: http://www.filamentgroup.com/lab/jquery_plugin_for_requesting_ajax_like_file_downloads/呢。我原本打算使用它,但它在日期上遇到了很多麻烦。所以,我想我会尝试改变它有点...我的jquery-built表单正在提交,但没有发送任何值!
这里是我的版本的插件:
jQuery.download = function (url, data, method) {
if (url && typeof data == 'object') {
//for this version, data needs to be a json object.
//loop through the data object..
var theForm = $('<form></form>').attr('action', url).attr('method', method).attr('id', 'jqueryDownloadForm');
$.each(data, function (propertyName, propertyVal) {
theForm.append($("<input />").attr('type', 'hidden').attr('id', propertyName).val(propertyVal));
});
theForm.appendTo('body').trigger('submit').remove();
}
else {
//they didn't fill in the params. do nothing
}
};
,这里是它如何被称为:
var dataToPost = { reportFormatId: reportFormatId, reportPageSizeId: reportPageSizeId, reportSortOrderId: reportSortOrderId, rangeStart: rangeStart, rangeEnd: rangeEnd};
$.download('/The/Url/', dataToPost, "POST");
它建立在形式和提交。但它不发送任何输入。
如果我通过theForm.find('input')循环它们都有值。但看着提琴手的帖子,没有什么被张贴。和我的mvc控制器给我null参数错误。
在此先感谢您的帮助!编辑: 我试着在窗体中添加一个按钮。像这样:
theForm.append($("<input />").attr('type', 'submit').attr('id', "ExportForm").val("Export"));
而不是从JavaScript提交。如果我点击按钮,它也不会发送任何数据。
您是否尝试过将返回在函数的最后假的? – evandrix 2011-01-28 15:34:26
提交后?没有帮助。当然是 – Patricia 2011-01-28 15:37:59