Я делаю проект с vue + nativescript
функция app.get не запускается, когда я вызываю ее из проекта vue
этот звонок:
const urlChannels = 'http://localhost:3001/sources';
axios.get(urlChannels)
.then(response => {
store.commit('setTasks', {
channels: response.data,
});
})
}
возвращает: "data": "", "status": null, "statusText": "" как если бы сервер выключен, (сам вызов действителен, он работает с другими API)
но простой тест с angularjs в браузере возвращает действительные необходимые данные
это мой nodejs:
app.get('/sources', function (req, res) {
res.set({
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET'
});
res.writeHead(200,{'Content-Type':'application/json'})
let data = getNews.getSources()
res.send(JSON.stringify(data));
//res.json(data); also tried this same resualt
})
Кроме того, вы уверены, что urlChannels имеет правильный URL-адрес? Вы можете показать нам, как это происходит?
Я пробовал всевозможные варианты перед res.end .. важно отметить, что простой вызов ajax из тестового запроса в angularjs действительно приносит данные, успешно обновляющие вопрос
Что возвращает getNews.getSources ()?
Я обнаружил проблему, это проблема безопасности с ios, они не разрешают http-вызовы, только https (я запускаю проект на эмуляторе ios)



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


res.end () предназначен для завершения ответа без данных (см. https://expressjs.com/en/api.html).
Если вы хотите вернуть json, самый простой способ - использовать res.json ():
app.get('/sources', function (req, res) {
res.set({
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET'
});
let data = getNews.getSources()
res.json(data);
});
Я обнаружил проблему, это проблема безопасности с ios, они не разрешают http-вызовы, только https (я запускаю проект на эмуляторе ios)
Почему вы используете res.end () вместо res.send ()?