Ajax отправляет новую форму, не отправляя значения - PullRequest
0 голосов
/ 21 июля 2011

У меня есть jQuery, создающий форму динамически и добавляющий ее в конец страницы, затем она запускает отправку.

var downloadReportForm = $('<form id="report" action="ReportExcel.aspx" method="POST" />');
downloadReportForm.append(String.format('<input id="{0}" name="{0}" value="{1}" />', "customerGroupId", filter.CustomerGroupID));
$('form').after(downloadReportForm);
downloadReportForm.submit();

Проблема в коде ReportExcel.aspx позади, я не получаюзначение для ввода.Я даже не вижу ключ к этому.Это просто не публикуется.

Я пробовал GET и POST, и я смотрел в списках объектов QueryString, Form и Params объектов Request.Ничего.

Я не могу использовать $ .Post (), так как мне нужен ответ, чтобы вернуться на эту страницу, поскольку aspx возвращает тип контента Excel с байтами, и мне нужен браузерчтобы открыть диалоговое окно загрузки.

Любые предложения, как я могу заставить это работать?

Ответы [ 2 ]

0 голосов
/ 22 июля 2011

Лучший способ - использовать плагин ajaxForm.посетите http://malsup.com/jquery/form/ Есть много примеров использования этого плагина.

0 голосов
/ 21 июля 2011

String.format не работает в Javascript, если вы не написали свой собственный метод.

Попробуйте это

var downloadReportForm = $('<form id="report" action="ReportExcel.aspx" method="POST" />');
downloadReportForm.append('input', {id:"customerGroupId", name:"customerGroupId", value: filter.CustomerGroupID, type:"hidden"});
$('form').after(downloadReportForm);
downloadReportForm.submit();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...