Отправка большого количества данных обработчику ASHX

Мне нужно отправить довольно большой объем данных из веб-приложения в обработчик ASHX. Затем обработчик отправит данные веб-службе для ответа. (Причина, по которой обработчик имеет дело с веб-службой, заключается в том, что веб-приложение написано на классическом ASP, а с обработчиком я использую .NET, поэтому я могу просто использовать службу.)

Что мне нужно сделать, так это отправить данные обработчику с помощью Javascript. Прямо сейчас я использую XMLHttpRequest и открываю правильный URL-адрес. Но я не хочу отправлять большой объем данных через строку запроса. Итак, мой вопрос: как я могу отправить обработчику большой объем данных? Если есть другой способ, кроме использования XMLHttpRequest, я весь внимателен.

Спасибо


person Aarron H    schedule 12.11.2012    source источник
comment
Каков формат данных, которые вы хотите опубликовать? Я имею в виду, это большой файл? В вашей форме много данных для публикации? что это такое? Это важно.   -  person Rikki    schedule 12.11.2012
comment
Он будет включать в себя множество различных объектов. Включая два адресных объекта (отправка и получение), объекты пакета (высота, ширина, глубина, вес и т. д.), выбор оператора связи.   -  person Aarron H    schedule 12.11.2012


Ответы (1)


Вы можете использовать запрос POST вместо запроса GET.

Обычно данные, отправленные get, добавляются к строке запроса ..

Данные, отправленные post, не добавляются к строке запроса

var url = "get_data.ashx";
var params = "lorem=ipsum&name=binny";

http.open("POST", url, true);

http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", params.length);
http.send(params);
person Sushanth --    schedule 12.11.2012
comment
Из обработчика я бы взял «параметры», выполнив «context.Request.Form [params];» ? - person Aarron H; 12.11.2012
comment
нет... вы бы сделали context.Request.Form[lorem]; и context.Request.Form[имя]; - person Sushanth --; 12.11.2012