Метод postFormData
Future<HttpRequest> postFormData(Выполняет POST-запрос к серверу с указанными данными, закодированными как данные формы.
Это примерно эквивалент POST-запроса getString. Этот метод похож на отправку объекта FormData с более широкой поддержкой браузеров, но ограничен строковыми значениями.
Если data предоставлено, пары ключ/значение кодируются в URI с помощью Uri.encodeQueryComponent и преобразуются в строку запроса HTTP.
Если не указано иное, этот метод добавляет следующий заголовок:
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Вот пример использования этого метода:
var data = { 'firstName' : 'John', 'lastName' : 'Doe' };
HttpRequest.postFormData('/send', data).then((HttpRequest resp) {
// Do something with the response.
});
См. также:
Исходный код
static Future<HttpRequest> postFormData(String url, Map<String, String> data,
{bool withCredentials,
String responseType,
Map<String, String> requestHeaders,
void onProgress(ProgressEvent e)}) {
var parts = [];
data.forEach((key, value) {
parts.add('${Uri.encodeQueryComponent(key)}='
'${Uri.encodeQueryComponent(value)}');
});
var formData = parts.join('&');
if (requestHeaders == null) {
requestHeaders = <String, String>{};
}
requestHeaders.putIfAbsent('Content-Type',
() => 'application/x-www-form-urlencoded; charset=UTF-8');
return request(url,
method: 'POST',
withCredentials: withCredentials,
responseType: responseType,
requestHeaders: requestHeaders,
sendData: formData,
onProgress: onProgress);
}
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-html/HttpRequest/postFormData.html