我在我的PC和vuejs Web应用程序发送请求中运行了REST API。 当我在localhost中尝试该应用程序时,发现完美。 我可以访问首页('/')并使用网络应用程序,它通过API('/ something')发送其他请求
但是,我需要从移动设备上尝试应用程序,因此我需要同时连接同一网络并从IP访问本地主机。
我可以访问家庭(IP:端口),并且该应用程序可以通过我的手机回复。 我也可以访问其他端点(IP:端口/某物)。 通常只有应用程序使用API端点。 (对于用户直接访问无用)
问题是:我在移动设备上显示主页,但在开始时,Web应用程序将请求发送到端点。但是服务器对状态的响应为0((
我尝试与其他PC相同...当我从其他设备尝试应用时,该应用无法使用我的API。
连接到家:(server.js(API))
MyRouter.route('/')
.all(function(req, res){
res.render('home.ejs');
});
用户访问家庭时(安装Vue时)发送的请求:(app.js(应用程序))
mounted () {
this.$http.get(this.website + '/connexion' ).then(response => {
//succes (I need to get some infos from API)
}, response => {
//error
}
端点:(server.js)
MyRouter.route('/connexion')
.get(function(req,res){
res.json({foo: "bar"}); //some infos
})
我可以从本地主机获取json信息,但是可以从其他设备访问主页,但是对端点的请求返回请求状态=0。当我尝试直接访问该端点时,发现它!但是我仍然需要在主页上...
答案 0 :(得分:0)
某些情况下会产生此状态代码:
非法的跨源请求(请参阅CORS)
防火墙阻止或过滤
请求本身已被代码取消
我敢打赌这是CORS或防火墙问题。
答案 1 :(得分:0)
好,我发现了问题... xD我从其他设备通过服务器IP访问Web应用程序,但请求中使用的变量“ this.website”始终为“ localhost”!所以我将其替换为当前URL ...