Я пытаюсь отправить большой кусок данных в обработчик HTTP. Я не могу отправить его с помощью GET из-за ограничения длины URL-адреса, поэтому я решил вместо этого использовать POST. Проблема в том, что я не могу получить значения. context.Request.Form показывает, что у него есть 0 элементов. Так есть способ, которым я могу отправлять данные POST HttpHandler?Как получить данные POST для ASP.NET HttpHandler?
ответ
Данные POST, которые вы отправляете на свой HTTP-обработчик, должны быть в формате querystring a=b&c=d
. И вы можете получить его на стороне сервера, используя Request["a"]
(вернет b
) и так далее.
Извините, но я не понимаю как бы данные POSTed, если я отправлю его в Querystring: S. Может ли вы объяснить немного больше того, что вы предлагаете? Если вы говорите, что я должен создать запрос и добавить его к моему URL-адресу, чем это не будет работать из-за ограничения длины URL-адреса . –
Я думаю, что он имел в виду, чтобы URL-кодирования данных, разграниченные амперсандами (&), так же, как в строке запроса, за исключением того, в теле запроса, а не в URL. JQuery должен обрабатывать это автоматически. –
Наличие некоторого кода для поиска поможет диагностировать проблему. Вы пробовали что-то вроде этого?
JQuery код:
$.post('test.ashx',
{key1: 'value1', key2: 'value2'},
function(){alert('Complete!');});
Тогда в вашем методе ProcessRequest()
, вы должны быть в состоянии сделать:
string key1 = context.Request.Form["key1"];
Вы можете также проверить тип запроса в ProcessRequest() метод для отладки вопрос.
if(context.Request.RequestType == "POST")
{
// Request should have been sent successfully
}
else
{
// Request was sent incorrectly somehow
}
У меня была такая же проблема, и в конце концов понял, что установка тип контента как «JSON» был вопрос ...
contentType: "application/json; charset=utf-8"
Это строка некоторые популярные учебники предложить вам добавить в вызове $ ajax и хорошо работает с ASPx WebServices, но по какой-то причине он не использует HttpHandler, использующий POST.
Жестко поймать, так как значения в строке запроса работают нормально (другая техника видна в Интернете, хотя для этого нет смысла использовать POST).
У меня также была та же проблема. Это была проблема клиента/AJAX. Мне пришлось установить заголовок запроса на вызов AJAX «ContentType» на
application/x-www-form-urlencoded
, чтобы заставить его работать.
столкнулся с подобной проблемой. После исправления всех проблем была еще одна вещь, которую я пропустил в web.config
- изменить глагол как *
ИЛИ GET,POST
. После этого все сработало нормально.
<httpHandlers>
...
<add verb="*" path="test.ashx" type="Handlers.TestHandler"/>
</httpHandlers>
POST поля содержатся в
HttpContext.Request.Params
Чтобы получить их, вы можете использовать
var field = HttpContext.Request.Params["fieldName"];
- 1. Как отлаживать ASP.net HTTPHandler
- 2. Как ограничить доступ POST к HttpHandler?
- 3. Как отправить данные httphandler
- 4. HttpHandler для приложения ASP.NET MVC
- 5. Asp.NET Principal WebORB HttpHandler
- 6. Как получить данные POST HTML для манипуляции в ASP.NET WebForms?
- 7. Как проверить мой asp.net httphandler
- 8. HttpHandler Path Issue ASP.NET
- 9. получить данные из POST действий ASP.NET MVC
- 10. Аутентификация в ASP.NET HttpHandler
- 11. ASP.NET MVC пользовательского HttpHandler
- 12. ASP.NET XML для JSON для httphandler
- 13. HTTPHandler in asp.Net
- 14. Httphandler и Httpmodule in asp.net
- 15. Как получить данные POST для завивки?
- 16. Отправить данные POST в ASP.NET
- 17. HttpHandler для загрузки txt-файлов (ASP.NET)?
- 18. HttpHandler для перенаправления URL в ASP.NET
- 19. ASP.Net HTTPHandler для сопоставления пути с указанным числом сегментов
- 20. Как получить/обработать данные POST в ASP.NET MVC 4 Razor?
- 21. Данные POST для контроллера с ASP.NET MVC
- 22. ASP.NET HttpHandler против обработчика IIS
- 23. ASP.NET HttpHandler для x3d/MIME-типа
- 24. ASP.NET 2.0 HttpModule или HttpHandler
- 25. Данные POST для ASP.NET MVC 4
- 26. Как получить POST и GET данные из формы в ASP.NET
- 27. Как получить данные JSON POST в веб-формах ASP.NET?
- 28. ASP.NET HttpHandler и частота обращений
- 29. Как получить данные из $ .post
- 30. Как получить данные Json post
Что вы используете, чтобы сделать запрос? HttpWebRequest? –
Я делаю вызов Ajax с использованием JQuery –
Не могли бы вы представить пример кода того, что вы делаете на стороне запроса? – Deeksy