Я отправляю почтовый запрос рабочим. Содержимое тела сообщения.
{
"name": "value",
"name2": "value2"
}
если name2=value2, то я хочу его изменить:
{
"name": "value",
"name2": "NewValue"
}
Я использую этот скрипт.
addEventListener("fetch", event => {
event.respondWith(handleRequest(event.request));
});
async function handleRequest(r) {
return new Response(r.body, {
headers: {
"Content-Type": "application/json",
corsHeaders
}
})
}
Если я json.parse(r.body), это не сработает. как я могу это сделать? Я слышал, что r.body - это ReadableStream, так как его изменить. Пожалуйста помоги. Спасибо.
Из документы MDN:
request.json().then(function(data) {
// do something with your data
});
Это должно помочь вам начать работу:
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})
async function handleRequest(request) {
let requestJSON = await request.json()
// your logic here
return await fetch(request, {body: JSON.stringify(requestJSON)})
}
Вы можете захотеть ограничить синтаксический анализ JSON запросами, удовлетворяющими следующим условиям:
(request.method === "POST" && request.headers.get("Content-Type") === "application/json")
вы используете парсер тела?