#javascript #node.js #axios
Вопрос:
Я не знаю, как передавать данные с JavaScript на Node.js.
Мне нужно опубликовать allUsers
массив и user.username
свойство.
var allUsers = []
var user = {
username: '',
password: ''
}
var background = document.getElementById("bg")
function verify() {
background.style.display = "inline"
var usrname = document.getElementById("username").value
var pswrd = document.getElementById("password").value
user.username = usrname
user.password = pswrd
axios.get("dbid").then((response) => {
var data = response.data
for (let key in data) {
var body = data[key]
allUsers.push(body.user.username)
}
return verified();
})
}
function verified() {
var inc = allUsers.includes(user.username)
if (user.password.length < 8) {
alert('Şifreniz en az 8 karakter olmalıdır!');
return background.style.display = "none";
} else if (inc) {
alert("Böyle bir mail adresi önceden kaydolmuş! Lütfen başka bir mail adresi deneyim.");
return background.style.display = "none";
} else {
alert("Başarılı, G-mail adresinize bir doğrulama kodu gönderildi...");
axios.post("dbid", {
user: user
})
return background.style.display = "none";
}
}
Ответ №1:
Если вам нужно опубликовать массив данных (в данном случае allUsers
) и строку ( username
), вам необходимо использовать JSON.stringify
метод для преобразования массива в строку JSON. Вот асинхронная функция, которая будет публиковать данные, которые вам нужно отправить на сервер:
const postData = async () => {
try {
await axios.post(<url-to-post>, {
users: JSON.stringify(allUsers),
username: user.username
})
} catch (err) {
// Error posting data
console.log(err)
}
}