Nodejs с Astradb, согласованно возвращает ошибку 400, когда R/W со страницы HTML NetLify HostedJavascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Nodejs с Astradb, согласованно возвращает ошибку 400, когда R/W со страницы HTML NetLify Hosted

Сообщение Anonymous »

Я работаю над своей страницей FIRS Nodejs и настроен, чтобы просто читать и написать строку данных, когда нажимаю кнопку.

astra.js

Код: Выделить всё

const axios = require("axios");
const ASTRA_DB_ID = process.env.ASTRA_DB_ID;
const ASTRA_REGION = process.env.ASTRA_REGION;
const ASTRA_TOKEN = process.env.ASTRA_APP_TOKEN;
const COLLECTION = "test";
const BASE_URL = `https://${ASTRA_DB_ID}-${ASTRA_REGION}.apps.astra.datastax.com/api/rest/v2/keyspaces/default_keyspace/collections/${COLLECTION}`
const HEADERS = {
"x-cassandra-token": ASTRA_TOKEN,
"Content-Type": "application/json",
};
exports.handler = async function (event) {
if (event.httpMethod === "POST") {
const {_id, message} = JSON.parse(event.body);
const res = await axios.put(`${BASE_URL}/${_id}`, {_id: _id, message}, {headers:HEADERS});
return {
statusCode:200,
body: JSON.stringify({success:true, res:res.data}),
};
} else if (event.httpMethod === "GET") {
const _id = event.queryStringParameters.id;
const res = await axios.get(`${BASE_URL}/${_id}`, {headers:HEADERS});
return {
statusCode:200,
body:JSON.stringify(res.data),
};
}
return {statusCode:405, body: "Method Not Allowed"};
}
index.html

Код: Выделить всё



DB TEST


Testing
Write to DB
Read from DB

document.getElementById("write-btn").addEventListener("click", write);
document.getElementById("read-btn").addEventListener("click", read);
async function write() {
alert("test");
try {
await fetch('/api/astra', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({_id:'demo', message: 'Hellow from HTML!'})
});
alert("Message saved!");
} catch (e) {
alert(e)
}
}
async function read() {
const res = await fetch('/api/astra?id=demo');
const data = await res.json();
alert("Message: " + JSON.stringify(data));
}



netlify.toml

Код: Выделить всё

[build]
publish = "public"
functions = "functions"

[[redirects]]
from = "/api/*"
to = "/.netlify/functions/:splat"
status = 200
< /code>
ASTRA_APP_TOKEN, ASTRA_REGION и ASTRA_DB_ID правильно настроены в переменных среды NetLify в соответствии с DB.  Однако всякий раз, когда я нажимаю одну из 2 кнопок, он возвращает:

[b] witch < /strong>
< /p>
(9)[ "AxiosError: Request failed with status code 400", " at settle (/var/task/node_modules/axios/dist/node/axios.cjs:2049:12)", " at IncomingMessage.handleStreamEnd (/var/task/node_modules/axios/dist/node/axios.cjs:3166:11)", " at IncomingMessage.emit (node:events:530:35)", " at endReadableNT (node:internal/streams/readable:1698:12)", " at process.processTicksAndRejections (node:internal/process/task_queues:90:21)", " at Axios.request (/var/task/node_modules/axios/dist/node/axios.cjs:4276:41)", " at process.processTicksAndRejections (node:internal/process/task_queues:105:5)", " at async exports.handler (/var/task/functions/astra.js:14:21)" ]
чтение [/b]
(9)[ "AxiosError: Request failed with status code 400", " at settle (/var/task/node_modules/axios/dist/node/axios.cjs:2049:12)", " at IncomingMessage.handleStreamEnd (/var/task/node_modules/axios/dist/node/axios.cjs:3166:11)", " at IncomingMessage.emit (node:events:530:35)", " at endReadableNT (node:internal/streams/readable:1698:12)", " at process.processTicksAndRejections (node:internal/process/task_queues:90:21)", " at Axios.request (/var/task/node_modules/axios/dist/node/axios.cjs:4276:41)", " at process.processTicksAndRejections (node:internal/process/task_queues:105:5)", " at async exports.handler (/var/task/functions/astra.js:21:21)" ]
< /code>
Обе одну и ту же ошибку, за исключением возврата различных строк, при которых произошла ошибка, поскольку, конечно, чтение и написание происходит в разных строках. Внутри БД у меня есть default_keyspace, помеченный как тест. Запросы отправляются, но ошибка, когда они пытаются фактически извлечь/поместить данные. Кто -нибудь знает, как это исправить?

Подробнее здесь: https://stackoverflow.com/questions/796 ... y-hosted-h
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»