Я использую axios и API для получения HTML-кода страницы, редактирую HTML-код и возвращаю его обратно через запрос POST к API. Я успешно извлекаю и редактирую HTML, но не могу понять, как его вернуть / изменить HTML-код веб-страницы.
Я попытался использовать запрос PUT вместо запроса POST, но я получаю ошибку 405, что метод PUT не разрешен для веб-страницы.
axios.get(url, {
auth: {
username: USERNAME,
password: PASSWORD
},
headers: {
'Content-Type': 'application/json'
}
})
.then( (response) => {
version = response.data.version.number;
body = response.data.body.storage.value;
// takes the body HTML and formats all the links
newBody = middleware.formatLinks(body);
data = {
"type": "page",
'version': {'number': version + 1},
'body': {
'storage': {
'value': newBody,
'representation': 'storage'
}
}
}
// put the body HTML back into the page
axios.post(url, {
data: {
"type": "page",
'version': {'number': version + 1},
'body': {
'storage': {
'value': newBody,
'representation': 'storage'
}
}
}
}, {
auth: {
username: USERNAME,
password: PASSWORD
},
headers: {
'Content-Type': 'application/json'
}
})
.then( (response) => {
console.log(response.data);
})
.catch( (error) => {
console.log(error);
})
})
.catch( (error) => {
console.log(error);
})
Я ожидаю, что страница будет обновлена со всеми ссылками, отформатированными мне по вкусу. Однако страница не изменилась. Когда я console.log(response.data)
после выполнения запроса post, выводом является строка newBody
, когда я ожидаю, что это будет объект JSON
data: {
'type': 'page',
'version': {'number': version + 1},
'body': {
'storage': {
'value': newBody,
'representation': 'storage'
}
}
}