Files

26 lines
839 B
JavaScript

export async function fetchHtml(moduleName, scriptName, clientName = '', extraParams = {}) {
if (!moduleName || !scriptName) throw new Error('module/script required');
const params = new URLSearchParams({ module: moduleName, script: scriptName });
if (clientName) params.set('client', clientName);
Object.keys(extraParams || {}).forEach(k => {
if (extraParams[k] !== undefined && extraParams[k] !== null) params.set(k, String(extraParams[k]));
});
const url = 'src/ajax_handler.php?' + params.toString();
const response = await fetch(url, { method: 'GET', credentials: 'same-origin' });
if (!response.ok) {
const text = await response.text();
const message = text || `Request failed: ${response.status}`;
const err = new Error(message);
err.httpStatus = response.status;
throw err;
}
return response.text();
}