Несколько параметров POST
Я меняю GET на POST. В настоящее время у меня есть .jsp? Id = a, b, c, d. Когда я изменяю это сообщение, я все еще сижу с параметром id a, b, c, d. Это не работает для меня. Могу ли я отправить список с разделителями-запятыми на параметр post?
Ответы
Ответ 1
Я ошибаюсь, или большинство ответов не указано?
Чтобы ответить на ваш вопрос, да, вы можете отправить список, разделенный запятыми, в параметр POST. Честно говоря, я просто быстро попытался с PHP script, но я не понимаю, почему Java будет вести себя по-другому. Одна точка с запросами POST заключается в том, что у вас гораздо меньше ограничений на синтаксис (нет необходимости выходить = и т.д.).
Итак, если вы более подробно объясните, что "не работает", возможно, мы можем вам помочь.
Ответ 2
Вы можете сделать это, как ввод формы:
URL = значение1 пар &ы;? = Значение2 пар &ы; пары = значение3
В зависимости от языка и библиотеки вы можете получить массив значений для параметра.
Например, с asp.net mvc я делаю это, чтобы получить массив строк:
string[] values = Request.Form.GetValues("param");
Ответ 3
Фионн прав. Используйте
url?param=value1¶m=value2¶m=value3
чтобы установить несколько значений в один параметр. Чтобы прочитать значения в вашем сервлете /JSP, вы можете использовать
String[] values = request.getParameterValues("param");
Ответ 4
Установите, чтобы ваш параметр передавал несколько значений, называя его как массив.
Вместо того, чтобы называть вход "id", назовите его "id []"
<form method="post">
<select multiple name="id[]">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<input type="submit" value="send">
</form>
При обработке не забудьте извлечь массив значений, отправленных с помощью именованного параметра.
Ответ 5
Вы можете передать несколько параметров с помощью
xmlhttp
.send("files=" + files.value + "&tagcount="
+ tagcount.value);
Здесь файлы и tagcount - это идентификатор передаваемых пармеров. Это работало для моего Ajax Script. В обычных случаях вы можете просто добавить параметры &. Таким образом, параметры могут выглядеть как
"parameter1=" + parameter1.value + "¶meter2=" + parameter2.value
Ответ 6
в столбце запроса минимальный 1 параметр должен присутствовать в списке параметров. Если вы добавляете параметр для запроса, тогда он не будет работать.
для этого вам нужно отправить параметр как скрытое поле формы.
Или попробуйте использовать следующий код
function makePOSTRequest (url, parameters) {
http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
// set type accordingly to anticipated content type
//http_request.overrideMimeType('text/xml');
http_request.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Cannot create XMLHTTP instance');
return false;
}
http_request.onreadystatechange = alertContents;
http_request.open('POST', url, true);
http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http_request.setRequestHeader("Content-length", parameters.length);
http_request.setRequestHeader("Connection", "close");
http_request.send(parameters);
}
Ответ 7
GET и POST имеют две разные цели. Из записи в Wikipedia HTTP:
GET
Запросит представление указанного ресурса. Обратите внимание, что GET не следует использовать для операций, которые вызывают побочные эффекты, например, для использования в веб-приложениях. Одна из причин этого заключается в том, что GET может использоваться произвольно роботами или искателями, которые не должны учитывать побочные эффекты, которые должен вызвать запрос. См. Безопасные методы ниже.
POST
Предоставляет данные, подлежащие обработке (например, из HTML-формы), в идентифицированный ресурс. Данные включены в тело запроса. Это может привести к созданию нового ресурса или обновлений существующих ресурсов или того и другого.
В принципе, вы должны использовать GET, а также GET-информацию и POST для любых действий, которые изменяют состояние сервера, например, добавления новых записей.