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