Можно ли установить HTTP тело сообщения запроса POST через Javascript? - PullRequest
0 голосов
/ 28 февраля 2011

Я создаю веб-приложение REST, и мой Java-код на стороне сервера ожидает, что в теле запроса будет чистая строка JSON.Моя цель - использовать обычный метод HTTP POST (не ajax) и установить JSON в сообщении тела запроса.

Если я использую ajax, это очень просто.Что-то вроде:

var jsonInput = '{"foo":"bar"}';
ajaxRequest.setRequestHeader("Content-Type", "application/json");
ajaxRequest.send(jsonInput)

Но я хочу использовать обычный HTTP POST.

Глядя на поток ниже, вы должны создать форму со скрытым полем ввода и поместить JSON вполе ввода и серверный код обрабатывают все остальное.

JavaScript-запрос на публикацию как отправка формы

Я пробовал это, и все работает нормально, но могу ли ядействительно нужно беспокоиться о создании новой формы и поля ввода для достижения этой цели?Или есть какой-либо другой доступный способ?

ПРИМЕЧАНИЕ: я не хочу использовать JQuery или Prototype Framework.Просто простой Javascript.

1 Ответ

1 голос
/ 28 февраля 2011

ФОРМЫ допускают отправку только пар имя-значение, поэтому ваш JSON необходимо вставить в одну такую ​​пару.

Yout может прочитать об этом на w3.org

Как решение, как насчет использования xhr для отправки данных на сервер, обмена их на некоторый токен, а затем перенаправления пользователя через обычный GET на URL-адрес, передающий токен?

Это также должно соответствовать парадигме REST.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...