httpFormPost(url, data, [headers])
Same as httpPost, but values are posted as form fields instead of a JSON body.
Parameters
urlstringrequiredURL to call with HTTP POST.
dataobjectrequiredObject whose properties are passed as form fields.
headersobjectoptionalName / value object that will be converted to HTTP headers.
Returns
Returns the JSON answer parsed to an object.
Errors do not throw: if the call fails, or the answer is not JSON, the result is { DoclyError: "<message>" }. The HTTP status code is not returned — use httpFetch when you need it. An empty URL throws instead of returning DoclyError. data must be an object.
Security: requests to Docly's own platform domains (and their subdomains) and to cloud metadata / link-local addresses are always blocked — also after a redirect — and the call returns { DoclyError }. The Host header cannot be set. Private networks are only blocked by httpFetch with blockPrivateNetworks: true.
Example
export default () => {
let config = docly.getJson("#/Config") || {}; // keep credentials in #/Config, never in code
let headers = {
"Authorization": "Basic " + docly.base64(config.ApiUser + ":" + config.ApiPassword)
};
let data = { "Field1": "123" };
// Call some API — data is sent URL-encoded (application/x-www-form-urlencoded)
let result = docly.httpFormPost("https://api.example.com/v1/items", data, headers);
if (result && result.DoclyError) throw new Error("The external API did not answer");
return result;
}