【发布时间】:2019-04-01 03:21:49
【问题描述】:
我正在用 vue + nativescript 做一个项目
当我从 vue 项目中调用 app.get 函数时,它没有被触发
这个电话:
const urlChannels = 'http://localhost:3001/sources';
axios.get(urlChannels)
.then(response => {
store.commit('setTasks', {
channels: response.data,
});
})
}
返回 :"data":"","status":null,"statusText":"" 就像服务器关闭一样,(调用本身是有效的,它可以与其他api一起使用)
但在浏览器上使用 angularjs 进行简单测试会返回所需的有效数据
这是我的节点:
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
})
【问题讨论】:
-
你为什么使用 res.end() 而不是 res.send()?
-
另外,你确定 urlChannels 有正确的 url 吗?你能告诉我们这是如何产生的吗?
-
在 res.end 之前我已经尝试了各种选项。重要的是要提到,来自 angularjs 中的测试请求的简单 ajax 调用确实会成功更新问题的数据
-
getNews.getSources() 返回什么?
-
我发现了问题,这是 ios 的安全问题,他们不允许 http 调用,只允许 https(我在 ios 模拟器上运行项目)
标签: javascript node.js vue.js http-get