Помогите сформировать post запрос
Get запрос отрабатывает отлично, а вот пост запрос не получается составить так чтобы он передал в форму 2 поля и вернул json данные с получившейся странички. На данный момент возвращает страничку формы, не понимаю как сделать чтобы заполненная форма отправилась и вернулся результат.
//отрабатывает как надо
let namespace = 'liftsService';
let options = {
method: "GET",
path: "/*****/api/Tag/code/****/value/null/" + id
};
ms.request.call(that, { type: 'proxy', namespace: namespace, options: options }, function (result) {
if (result.error == undefined) {
generationURL(result.value);
} else {
console.error(result.error);
cb({ "error": "getProjectFromLiftsService:" + result.error });
}
});
// тут проблема
function generationURL(name) {
var formData = new FormData();
formData.append('where', name);
formData.append('f', "pjson");
let namespace = 'arcgis';
let options = {
method: "POST",
path: "/***/rest/services/SVN/*****/****/0/query?where=P_NAME='",
body: formData
};
ms.request.call(that, { type: 'proxy', namespace: namespace, options: options }, function (result) {
if (result.error == undefined) {
if (result != null) {
contour = result;
allContour = getContourPutInArray(contour);
} else {
contour = errorTextModule('Kонтур поднятия не может быть получен', 'Пришёл пустой массив ', null);
}
} else {
console.error(result.error);
errorTextModule('Ошибка при получении с сервиса ', result.error, null);
cb({ "error": "getProjectFromArcgis:" + result.error });
}
});
}
ms.on('proxy', function (req, cb) {
let server = '';
if (req.namespace) {
//Если указано постранство имен то оно должно быть зарегистрировано
if (namespaces[req.namespace]) {
server = namespaces[req.namespace];
} else {
cb({ "error": "Не указано пространство имен" });
return;
}
}
if (!this.token) {
cb({ "error": "Отсутствует токен кореляции" });
return;
}
const options = req.options || { method: 'GET' };
if (!options.headers) {
options.headers = {};
}
options.headers['Correlation-Token'] = this.token;
options.headers['Cache-Control'] = 'no-cache';
if (options.path) {
options.path = encodeURI(options.path);
}
let postData = null;
if (req.params && (options.method == 'POST')) {
postData = JSON.stringify(req.params);
options.headers['Content-Type'] = 'application/json';
options.headers['Content-Length'] = Buffer.byteLength(postData);
}
const request = http.request(server, options, (res) => {
let data = '';
res.setEncoding('utf8');
res.on('data', (chunk) => {
data += chunk;
});
res.on('end', () => {
if (res.statusCode !== 200) {
cb({ "error": data, "status": res.statusCode });
} else {
try {
cb(JSON.parse(data));
} catch (e) {
cb(data);
}
}
});
});