This question, похоже, имеет ответ на то, что я пытаюсь сделать, но это, похоже, не работает для меня. Сервлет хорошо фиксируется, и в окне просмотра я вижу свой объект json для переменной-члена _parameters
сервлета HttpRequest
, но я не могу получить параметр.Как читать строку JSON в сервлете
Вот мой код.
Javascript:
// build data from input fields
var jsondata = '{"author":"TEST", "title":"XYZ"}';
$.ajax({
type : 'POST',
dataType : 'json',
data: jsondata,
url : '/submitquote',
timeout : 5000,
success : function(data, textStatus) {
// whatever
},
error : function(xhr, textStatus, errorThrown) {
// whatever
}
});
Servlet (я также попытался с "автор" и "название", но ничего не возвращается):
// get data
String postData = req.getParameter("jsondata");
Это то, что я вижу, с помощью переменной часы для _parameters
по запросу объект:
{{"author":"TEST", "title":"XYZ"}=}
Как, черт возьми, я получаю этот материал?
Любая помощь оценена!
спасибо! Теперь я могу получить параметр json. На вашей заметке 2) вы говорите, что я мог бы использовать свой код и запрос для «автора» и «названия», но я пробовал это, и он, похоже, не работает, любая идея, почему из моего кода? – JohnIdol
А, я неправильно читаю ваш исходный код: есть одинарные кавычки вокруг объекта (теперь они удалены в моем примере) - именно то, что должна делать функция stringify для вас. Если вы хотите использовать JSON (более общее, но более сложное решение), вы должны использовать функцию stringify и не пытаться генерировать руководство по строке; если вы хотите использовать отдельные параметры (больше HTTP-y-решения), выньте кавычки и получите доступ к параметрам напрямую с помощью 'getParameter() ' – Malvolio
Спасибо за помощь. Я считаю, что вопрос ответил. У меня возникают проблемы с разбором json-объекта ... возможно, для этого попросит другой q и отправьте ссылку ниже. – JohnIdol