Anonymous
Заголовок Заголовок Заголовок.
Сообщение
Anonymous » 11 апр 2025, 22:44
Я работаю над расширением панелей Chrome Devtools. В нем есть: < /p>
Код: Выделить всё
const toDbBtn = document.getElementById("toDbBtn");
toDbBtn.addEventListener("click", async () => {
const dbName = document.getElementById("textBox").value;
// const result = await chrome.storage.local.get(["yourKey"]);
const storedJSON = await chrome.storage.local.get(["yourKey"]);
console.log("Result from storage:", storedJSON);
if (storedJSON.yourKey) {
const parsedArray = JSON.parse(storedJSON.yourKey);
console.log("Parsed Array:", parsedArray);
const partArray = parsedArray.slice(0, 30);
console.log("partArray", partArray);
const data = {
dbName: dbName,
savedArray: partArray,
};
const postable = JSON.stringify(data);
console.log("postable", postable);
// http://localhost:8888/.netlify/functions//updateCollection.js
const response = await fetch(
"http://localhost:8888/.netlify/functions/updateCollection",
{
method: "POST",
headers: {
"Content-Type": "application/json",
// "Access-Control-Allow-Origin": "*",
// "Access-Control-Allow-Methods": "POST",
// "Access-Control-Allow-Headers": "Content-Type",
},
body: postable,
}
);
const result = await response.json();
console.log("Response from server:", result);
} else {
console.log("Value not found in storage for key: yourKey");
}
});
< /code>
Я планирую отправить некоторые данные в функцию NetLify, и поэтому решил локально тестировать, используя команду «NTL Dev». < /p>
Моя целевая функция: < /p>
const headers = {
"Cache-Control": "no-cache",
"Cross-Origin-Opener-Policy": "unsafe-none",
"Cross-Origin-Embedder-Policy": "unsafe-none",
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Private-Network": "true",
"Access-Control-Allow-Headers": "Access-Control-Request-Private-Network",
"Access-Control-Allow-Methods": "OPTIONS,POST,GET,HEAD,QUERY,query",
};
exports.handler = async function (event, context) {
console.log("context: ", context);
console.log("event: ", event);
if (event.httpMethod !== "OPTIONS" && event.httpMethod !== "POST") {
console.log("event.httpMethod: ", event.httpMethod);
return {
statusCode: 405,
body: JSON.stringify({ message: "Method Not Allowed" }),
};
} else if (event.httpMethod === "OPTIONS") {
return {
statusCode: 204,
headers: headers,
body: null,
};
}
if (event.httpMethod === "POST") {
console.log("event.httpMethod: ", event.httpMethod);
console.log("event.body: ", event.body);
const data = JSON.parse(event.body);
console.log("data: ", data);
}
Я получаю ошибку в заголовке. Что я делаю неправильно?
Подробнее здесь:
https://stackoverflow.com/questions/795 ... ow-headers
1744400672
Anonymous
Я работаю над расширением панелей Chrome Devtools. В нем есть: < /p> [code]const toDbBtn = document.getElementById("toDbBtn"); toDbBtn.addEventListener("click", async () => { const dbName = document.getElementById("textBox").value; // const result = await chrome.storage.local.get(["yourKey"]); const storedJSON = await chrome.storage.local.get(["yourKey"]); console.log("Result from storage:", storedJSON); if (storedJSON.yourKey) { const parsedArray = JSON.parse(storedJSON.yourKey); console.log("Parsed Array:", parsedArray); const partArray = parsedArray.slice(0, 30); console.log("partArray", partArray); const data = { dbName: dbName, savedArray: partArray, }; const postable = JSON.stringify(data); console.log("postable", postable); // http://localhost:8888/.netlify/functions//updateCollection.js const response = await fetch( "http://localhost:8888/.netlify/functions/updateCollection", { method: "POST", headers: { "Content-Type": "application/json", // "Access-Control-Allow-Origin": "*", // "Access-Control-Allow-Methods": "POST", // "Access-Control-Allow-Headers": "Content-Type", }, body: postable, } ); const result = await response.json(); console.log("Response from server:", result); } else { console.log("Value not found in storage for key: yourKey"); } }); < /code> Я планирую отправить некоторые данные в функцию NetLify, и поэтому решил локально тестировать, используя команду «NTL Dev». < /p> Моя целевая функция: < /p> const headers = { "Cache-Control": "no-cache", "Cross-Origin-Opener-Policy": "unsafe-none", "Cross-Origin-Embedder-Policy": "unsafe-none", "Access-Control-Allow-Origin": "*", "Access-Control-Allow-Private-Network": "true", "Access-Control-Allow-Headers": "Access-Control-Request-Private-Network", "Access-Control-Allow-Methods": "OPTIONS,POST,GET,HEAD,QUERY,query", }; exports.handler = async function (event, context) { console.log("context: ", context); console.log("event: ", event); if (event.httpMethod !== "OPTIONS" && event.httpMethod !== "POST") { console.log("event.httpMethod: ", event.httpMethod); return { statusCode: 405, body: JSON.stringify({ message: "Method Not Allowed" }), }; } else if (event.httpMethod === "OPTIONS") { return { statusCode: 204, headers: headers, body: null, }; } if (event.httpMethod === "POST") { console.log("event.httpMethod: ", event.httpMethod); console.log("event.body: ", event.body); const data = JSON.parse(event.body); console.log("data: ", data); } [/code] Я получаю ошибку в заголовке. Что я делаю неправильно? Подробнее здесь: [url]https://stackoverflow.com/questions/79569607/request-header-field-content-type-is-not-allowed-by-access-control-allow-headers[/url]