Здравствуйте, я пытаюсь настроить push-уведомления для моего веб-приложения.
Я получаю свою подписку, как и должен.
Правильно сохраняет его в моей базе данных.
Он отправляет мое уведомление, как и должно, если в базе данных есть только ОДИН пользователь
, и я хочу отправить более чем одному пользователю :)
Я использую:
Vue.js (framework)
Axios (post)
node.js (api)
mongoDB (база данных)
Вот мой пост в API.
await axios({
method: 'post',
url: 'API',
data: {
subscription: JSON.stringify(subscription),
storeId: storeId
},
headers: {
'Content-Type': 'application/json'
}
})
Это регистрирует мой пост, но затем я получаю ошибку броска.что «Невозможно установить заголовки после их отправки».
Я использую CORS в своем приложении следующим образом:
const cors = require('cors')
const app = express();
app.use(bodyParser.json());
app.use(cors())
app.use(morgan('combined'))
Способ обработки сообщения с моего веб-сайта.это путем нахождения моих подписок, а затем сопоставления и произнесения подписки foreach
webpush
//subscribe routes
app.post('/pushNotification', (req, res) => {
var storeId = req.body.storeId
res.setHeader('Content-Type', 'application/json');
console.log(storeId)
if (req.body.storeId != null) {
console.log('Test1')
//get pushSubscription object
//create payload
const payload = JSON.stringify({ title: 'push test' })
Push.find({
"storeId": storeId
},
'subscription', function(error, response) {
console.log('Test2')
console.log(response)
response.map(item => {
res.status(201).json({});
console.log('Test3')
var subscription = item.subscription
console.log(subscription)
webpush.sendNotification(subscription, payload).catch(err => console.error(err));
})
})
} else {
res.send("failed")
}
})
Как я могу где-то прочитать, я не устанавливаю заголовки или что-то правильно.Я использовал Cors, как в учебниках и прочее.
Так что это похоже на сбой, потому что он повторяется неправильно.но я не вижу, как.
СООБЩЕНИЕ ОБ ОШИБКЕ:
![error message](https://i.stack.imgur.com/bsFYx.png)
Заранее спасибо