所以我要做的是在同一个端口上托管前端和后端。但它并没有真正起作用。所以我把它们放在不同的端口上。现在我在尝试执行crossport请求时收到错误。
我的前端是用webpack vuejs锅炉板制成的。它通过npm run dev
运行。
我的后端是一个nodejs express服务器,充当REST API。两者都在不同的端口上运行。
所以我试图从我的前端到我的后端用vuejs获取请求。但是当我提出请求时,我收到了这个错误:
XMLHttpRequest cannot load localhost:8000/api/user. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
这是发送请求的代码:
register: function(){
this.$http({url: 'localhost:8000/api/user', method: 'GET'}).then(function (response) {
console.log(response);
}, function (response) {
console.log(response);
});
}
后端部分:
var app = express();
var router = express.Router();
router.route('/user')
.get(userController.test)
// Register all our routes with /api
app.use('/api', router);
app.listen(8000);
功能:
exports.test = function(req, res) {
res.json({message: 'done'});
};
我希望有人能帮助我:) 或者,如果某人有一个解决方案让我将它们放在同一个端口上,而没有优先考虑节点服务器,那么这也将是惊人的。因为当我加载localhost:8080时,它直接进入后端服务器而不是前端。