#angular #http-post
Вопрос:
Я пытаюсь опубликовать некоторые данные в API, и мои логические данные продолжают отображаться как пустые. У кого-нибудь есть какие-либо мысли относительно того, что может быть причиной этого?
const notifications: Array<Notification> = [
{
id: "all",
title: "All",
isActive: false
}
];
Вот мои interface
данные для:
export interface Notification {
id: string,
title: string,
isActive: boolean
}
Теперь, когда я пытаюсь передать эти данные через HTTP-запрос POST, они отображаются как:
notifications: [
{
"id": "all",
"title": "All",
"isActive": ""
}
];
Я замечаю, что isActive
свойство пусто, когда я проверяю http.post()
вызов через Safari/Chrome, что вызывает проблемы в моем API, поскольку данные кажутся пустыми по сравнению с логическим значением.
Вот как я передаю данные в API:
this.http.post('/api/', {notifications: notifications}).subscribe((res:any) => {
console.log(res);
}
Комментарии:
1. каков ваш код при передаче данных в api?
2. @jaysurya — Я обновил исходный вопрос этим примером.
3. этот код не изменит ваши данные. Вы уверены, что объект уведомлений в приведенном выше фрагменте соответствует ожиданиям?
4. Я добавляю a
Content-Type: application/json
ко всем http-запросам через перехватчик, это все, о чем я могу думать.5. ложь может быть преобразована в «ложь», но не в «». Должен быть какой-то другой код, который вызывает это. отладьте его с помощью console.log
Ответ №1:
Попробуй это. Перед отправкой преобразуйте логическое значение в строку, например isActive.toString()
Поэтому, прежде чем создавать api, вы могли бы сделать
notifications = {...notifications, isActive: notifications.isActive.toString() };